On Tue, Oct 22, 2013 at 02:53:59PM +0300, Kirill A. Shutemov wrote: > If DEBUG_SPINLOCK and DEBUG_LOCK_ALLOC are enabled spinlock_t on x86_64 > is 72 bytes. For page->ptl they will be allocated from kmalloc-96 slab, > so we loose 24 on each. An average system can easily allocate few tens > thousands of page->ptl and overhead is significant. > > Let's create a separate slab for page->ptl allocation to solve this. Tested-by: Fengguang Wu <fengguang.wu@xxxxxxxxx> In a 4p server, we noticed up to +469.1% increase in will-it-scale page_fault3 test case and +199.8% in vm-scalability case-shm-pread-seq-mt. 5c02216ce3110aab070d 5a58baaa0a1af0a43d7c ------------------------ ------------------------ 300409.00 +440.2% 1622770.80 TOTAL will-it-scale.page_fault3.90.threads 5c02216ce3110aab070d 5a58baaa0a1af0a43d7c ------------------------ ------------------------ 291257.80 +469.1% 1657582.20 TOTAL will-it-scale.page_fault3.120.threads ... 5c02216ce3110aab070d 5a58baaa0a1af0a43d7c ------------------------ ------------------------ 4034831.40 +199.8% 12095649.80 TOTAL vm-scalability.throughput Thanks, Fengguang -- To unsubscribe, send a message with 'unsubscribe linux-mm' in the body to majordomo@xxxxxxxxx. For more info on Linux MM, see: http://www.linux-mm.org/ . Don't email: <a href=mailto:"dont@xxxxxxxxx"> email@xxxxxxxxx </a>