Re: [GIT PULL] SLAB changes for v2.6.39-rc1

From: Tejun Heo
Date: Fri Mar 25 2011 - 11:14:23 EST


Hello,

On Thu, Mar 24, 2011 at 03:43:25PM -0500, Christoph Lameter wrote:
> > Thats strange, alloc_percpu() is supposed to zero the memory already ...
>
> True.
>
> > Are you sure its really this problem of interrupts being disabled ?
>
> Guess so since Ingo and Pekka reported that it fixed the problem.
>
> Tejun: Can you help us with this mystery?

I've looked through the code but can't figure out what the difference
is. The memset code is in mm/percpu-vm.c::pcpu_populate_chunk().

for_each_possible_cpu(cpu)
memset((void *)pcpu_chunk_addr(chunk, cpu, 0) + off, 0, size);

(pcpu_chunk_addr(chunk, cpu, 0) + off) is the same vaddr as will be
obtained by per_cpu_ptr(ptr, cpu), so all allocated memory regions are
accessed before being returned. Dazed and confused (seems like the
theme of today for me).

Could it be that the vmalloc page is taking more than one faults?

Thanks.

--
tejun
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/