Messages in this thread | | | Date | Tue, 22 Oct 2013 13:55:12 +0100 | From | Fengguang Wu <> | Subject | Re: [PATCH] mm: create a separate slab for page->ptl allocation |
| |
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@intel.com>
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
| |