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

Peter Zijlstra
2010-09-13T19:35:32Z

On Mon, 2010-09-13 at 21:34 +0200, Peter Zijlstra wrote:
> On Mon, 2010-09-13 at 15:31 -0400, Mathieu Desnoyers wrote:
> > > Ok, so can we play the same trick you're playing with the sampling
> > > buffer, i.e., you use alloc_pages_node() for one page at a time, and
> > > then you stitch them on demand via SW?
> >
> > Well, a thought is striking me: it sounds like you are re-doing YAORB (short
> > for Yet Another Ring Buffer,
>
> He's not.. the hardware needs a large (virtually) contiguous region to
> poke data into, we need to read it out from NMI context.

Which just made me realize, we really need vmalloc_sync_all() for this,
the hardware will want to walk the pagetables as well, it cannot lazy
fault the pages in.