Messages in this thread | | | Date | Mon, 13 Sep 2010 17:51:20 +0200 | From | Frederic Weisbecker <> | Subject | Re: [PATCH] perf_events: improve DS/BTS/PEBS buffer allocation |
| |
On Mon, Sep 13, 2010 at 05:41:16PM +0200, Peter Zijlstra wrote: > On Mon, 2010-09-13 at 17:31 +0200, Stephane Eranian wrote: > > On Mon, Sep 13, 2010 at 5:24 PM, Peter Zijlstra <peterz@infradead.org> 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.
Mathieu has posted a set of patches to support traps/faults in NMIs, this has been followed by a discussion with Linus.
http://linux.derkeiler.com/Mailing-Lists/Kernel/2010-07/msg05222.html
I think they came with some patches to solve the problem, pushing all the fixup code in the NMI area, but the discussion was preempted by holidays and I suspect Mathieu is focusing on some other scheduler patches right now :)
| |