Messages in this thread | | | From | Nick Piggin <> | Subject | Re: [PATCH 0 of 9] x86/smp function calls: convert x86 tlb flushes to use function calls [POST 2] | Date | Tue, 19 Aug 2008 21:04:05 +1000 |
| |
On Tuesday 19 August 2008 20:31, Andi Kleen wrote: > > I'm especially sore about mmap because I have a customer with a > > database that uses a lot of mmap/munmap and those calls have slowed > > down something like 50%(!!) from 2.6.early to 2.6.late. > > These are small mmaps right? Also in this case no kmalloc should > be needed anyways.
Yes, smallish mmaps. But larger ones weren't much better.
> AFAIK mmap flushing hasn't changed much in 2.6 and it tends > to batch well anyways in this case (unlike vmscan swapping). I would be > careful to really optimize the real culprits which are likely elsewhere.
It wasn't actually the TLB flushing side of it that was causing the slowdown IIRC. It's just all over the map.
Notifier hooks; accounting statistics; 4lpt; cond_resched and low latency code causing functions to spill more to stack; cache misses from data structures increasing or becoming unaligned...
Basically just lots of little straws that added up to kill the camel. I didn't even get to the bottom of the whole thing. But my point is that even 1% here and there eventually adds up to a big headache for someone. For some features it is obviously inevitable to slowdown, but in all other cases we should always be aiming to make the kernel faster rather than slower.
| |