Re: [PATCH] perf_events: improve DS/BTS/PEBS buffer allocation

Peter Zijlstra
2010-09-13T17:35:48Z

On Mon, 2010-09-13 at 17:55 +0200, Stephane Eranian wrote:
>
> Ok, so you're saying there is no allocator that will give non-contiguous
> physical memory WITHOUT requiring a page fault to populate the pte.
>
> On the other hand, with vmalloc_node() the pte are populated when
> you first touch the memory. That happens as part of memset() right after
> the allocation and thus outside of NMI interrupt handler.
>
> Does this sound right?

Nope, in particular read: http://lkml.org/lkml/2010/7/14/465

The issue is that the vmalloc space can be mapped in different
processes, and that memset() will only ensure its mapped in the current
process, but the next one might need that fault to populate.