Linux kernel mirror (for testing) git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git
kernel os linux

Merge branch 'for-3.14' of git://git.kernel.org/pub/scm/linux/kernel/git/tj/percpu

Pull percpu changes from Tejun Heo:
"Two trivial changes - addition of WARN_ONCE() in lib/percpu-refcount.c
and use of VMALLOC_TOTAL instead of END - START in percpu.c"

* 'for-3.14' of git://git.kernel.org/pub/scm/linux/kernel/git/tj/percpu:
percpu: use VMALLOC_TOTAL instead of VMALLOC_END - VMALLOC_START
percpu-refcount: Add a WARN() for ref going negative

+5 -2
+3
lib/percpu-refcount.c
··· 120 120 121 121 atomic_add((int) count - PCPU_COUNT_BIAS, &ref->count); 122 122 123 + WARN_ONCE(atomic_read(&ref->count) <= 0, "percpu ref <= 0 (%i)", 124 + atomic_read(&ref->count)); 125 + 123 126 /* @ref is viewed as dead on all CPUs, send out kill confirmation */ 124 127 if (ref->confirm_kill) 125 128 ref->confirm_kill(ref);
+2 -2
mm/percpu.c
··· 1686 1686 max_distance += ai->unit_size; 1687 1687 1688 1688 /* warn if maximum distance is further than 75% of vmalloc space */ 1689 - if (max_distance > (VMALLOC_END - VMALLOC_START) * 3 / 4) { 1689 + if (max_distance > VMALLOC_TOTAL * 3 / 4) { 1690 1690 pr_warning("PERCPU: max_distance=0x%zx too large for vmalloc " 1691 1691 "space 0x%lx\n", max_distance, 1692 - (unsigned long)(VMALLOC_END - VMALLOC_START)); 1692 + VMALLOC_TOTAL); 1693 1693 #ifdef CONFIG_NEED_PER_CPU_PAGE_FIRST_CHUNK 1694 1694 /* and fail if we have fallback */ 1695 1695 rc = -EINVAL;