Messages in this thread | | | From | Nick Piggin <> | Subject | Re: [Bug #11342] Linux 2.6.27-rc3: kernel BUG at mm/vmalloc.c - bisected | Date | Wed, 27 Aug 2008 17:47:14 +1000 |
| |
On Wednesday 27 August 2008 17:05, David Miller wrote: > From: Nick Piggin <nickpiggin@yahoo.com.au> > Date: Wed, 27 Aug 2008 16:54:32 +1000 > > > 5% is a pretty nasty performance hit... what sort of benchmarks are we > > talking about here? > > > > I just made some pretty crazy changes to the VM to get "only" around 5 > > or so % performance improvement in some workloads. > > > > What places are making heavy use of cpumasks that causes such a slowdown? > > Hopefully callers can mostly be improved so they don't need to use > > cpumasks for common cases. > > It's almost certainly from the cross-call dispatch call chain. > > As just one example, just to do a TLB flush mm->cpu_vm_mask probably > gets passed around as an aggregate two or three times on the way down > to the APIC programming code on x86. That's two or three 512 byte > copies on the stack :)
Yeah, I see. That's stupid isn't it? (Well, I guess it was completely sane when cpumasks were word sized ;))
Hopefully that accounts for a significant chunk...
| |