Re: [PATCH] mm: create a separate slab for page->ptl allocation

From: Fengguang Wu
Date: Tue Oct 22 2013 - 08:55:31 EST


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 from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/