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
This commit is contained in:
commit
5cb7398caf
@ -120,6 +120,9 @@ static void percpu_ref_kill_rcu(struct rcu_head *rcu)
|
||||
|
||||
atomic_add((int) count - PCPU_COUNT_BIAS, &ref->count);
|
||||
|
||||
WARN_ONCE(atomic_read(&ref->count) <= 0, "percpu ref <= 0 (%i)",
|
||||
atomic_read(&ref->count));
|
||||
|
||||
/* @ref is viewed as dead on all CPUs, send out kill confirmation */
|
||||
if (ref->confirm_kill)
|
||||
ref->confirm_kill(ref);
|
||||
|
@ -1686,10 +1686,10 @@ int __init pcpu_embed_first_chunk(size_t reserved_size, size_t dyn_size,
|
||||
max_distance += ai->unit_size;
|
||||
|
||||
/* warn if maximum distance is further than 75% of vmalloc space */
|
||||
if (max_distance > (VMALLOC_END - VMALLOC_START) * 3 / 4) {
|
||||
if (max_distance > VMALLOC_TOTAL * 3 / 4) {
|
||||
pr_warning("PERCPU: max_distance=0x%zx too large for vmalloc "
|
||||
"space 0x%lx\n", max_distance,
|
||||
(unsigned long)(VMALLOC_END - VMALLOC_START));
|
||||
VMALLOC_TOTAL);
|
||||
#ifdef CONFIG_NEED_PER_CPU_PAGE_FIRST_CHUNK
|
||||
/* and fail if we have fallback */
|
||||
rc = -EINVAL;
|
||||
|
Loading…
Reference in New Issue
Block a user