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

From: Peter Zijlstra
Date: Mon Sep 13 2010 - 15:49:45 EST


On Mon, 2010-09-13 at 21:35 +0200, Andi Kleen wrote:
> Stephane Eranian <eranian@xxxxxxxxxx> writes:
>
> > The DS, BTS, and PEBS memory regions were allocated using kzalloc(), i.e.,
> > requesting contiguous physical memory. There is no such restriction on
> > DS, PEBS and BTS buffers. Using kzalloc() could lead to error in case
> > no contiguous physical memory is available. BTS is requesting 64KB,
> > thus it can cause issues. PEBS is currently only requesting one page.
> > Both PEBS and BTS are static buffers allocated for each CPU at the
> > first user. When the last user exists, the buffers are released.
>
> DS supports page tables, but I have some doubts it really
> supports page faults. vmalloc today does page faults.
>
> I think the change is a good idea, but it will need vmalloc_sync_all()
> everywhere.

Right, I seem to remember from that last discussion on vmalloc vs NMI
that vmalloc_sync_all() had some issues, or am I totally mis-remembering
that?

But yes, a vmalloc_sync_all() after the vmalloc_node() and this should
indeed work.
--
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/