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

From: Peter Zijlstra
Date: Mon Sep 13 2010 - 11:41:32 EST


On Mon, 2010-09-13 at 17:31 +0200, Stephane Eranian wrote:
> On Mon, Sep 13, 2010 at 5:24 PM, Peter Zijlstra <peterz@xxxxxxxxxxxxx> wrote:
> > On Mon, 2010-09-13 at 17:20 +0200, Stephane Eranian wrote:
> >
> >> That is the case we the sizes you have chosen today. For DS, we
> >> could round up to one page for now.
> >
> > Markus chose the BTS size, for PEBS a single page was plenty since we do
> > single event things (although we could do multiple for attr.precise_ip <
> > 2).
> >
> > For DS there's:
> > kmalloc_node(sizeof(struct ds), GFP_KERNEL | __GFP_ZERO, cpu_node(cpu));
> >
> Ok, let try again with alloc_pages_node() + kmalloc_node().
> I think we can stick with kmalloc() for DS because we are far from
> consuming a page.

Thing is, if you're really seeing allocation failures,
alloc_pages_node() isn't going to help. And the problem is, these
allocations aren't movable, so memory compaction and all the other fancy
stuff aren't really going to help much :/

There was some talk about a function that should sync all of vmalloc
space, but iirc it was broken for some configs.
--
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/