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

Stephane Eranian
2010-09-13T15:20:19Z

On Mon, Sep 13, 2010 at 5:16 PM, Peter Zijlstra <peterz@infradead.org> wrote:
> On Mon, 2010-09-13 at 17:13 +0200, Stephane Eranian wrote:
>> > For now I think you can not do this. vmalloc'ed memory can't be safely
>> > accessed from NMIs in x86 because that might fault. And faults from NMIs
>> > are not supported. They cause very bad things: return from fault calls
>> > iret which reenables NMI, so NMI can nest but in the meantime there is
>> > only one NMI stack, so that gets quickly messed up.
>> >
>> What kind of faults are you talking about here? TLB faults?
>
> Page faults. vmalloc pte setup is lazy.
>
Is there a way to not do lazy?

I guess we could do alloc_pages_nodes() if we make sure the
buffer size can be expressed as a page order and not just a page size,
or we are willing to waste memory.

That is the case we the sizes you have chosen today. For DS, we
could round up to one page for now.