Messages in this thread | | | Date | Fri, 24 Feb 2006 20:26:00 +1100 | From | Nick Piggin <> | Subject | Re: [Patch 3/3] prepopulate/cache cleared pages |
| |
Arjan van de Ven wrote: >>Arjan, just to get an idea of your workload: obviously it is a mix of >>read and write on the mmap_sem (read only will not really benefit from >>reducing lock width because cacheline transfers will still be there). > > > yeah it's threads that each allocate, use and then free memory with > mmap() > > >>Is it coming from brk() from the allocator? Someone told me a while ago >>that glibc doesn't have a decent amount of hysteresis in its allocator >>and tends to enter the kernel quite a lot... that might be something >>to look into. > > > we already are working on that angle; I just posted the kernel stuff as > a side effect basically >
OK.
[aside] Actually I have a scalability improvement for rwsems, that moves the actual task wakeups out from underneath the rwsem spinlock in the up() paths. This was useful exactly on a mixed read+write workload on mmap_sem.
The difference was quite large for the "generic rwsem" algorithm because it uses the spinlock in fastpaths a lot more than the xadd algorithm. I think x86-64 uses the former, which is what I presume you're testing with?
Obviously this is a slightly different issue from the one you're trying to address here, but I'll dig out patch when I get some time and you can see if it helps.
-- SUSE Labs, Novell Inc. Send instant messages to your online friends http://au.messenger.yahoo.com
- To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to majordomo@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/
| |