Files
rockchip-kernel/include/linux
Kirill A. Shutemov b35f1819ac mm: create a separate slab for page->ptl allocation
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.

To make sure that it really works this time, some numbers from my test
machine (just booted, no load):

Before:
  # grep '^\(kmalloc-96\|page->ptl\)' /proc/slabinfo
  kmalloc-96         31987  32190    128   30    1 : tunables  120   60    8 : slabdata   1073   1073     92
After:
  # grep '^\(kmalloc-96\|page->ptl\)' /proc/slabinfo
  page->ptl          27516  28143     72   53    1 : tunables  120   60    8 : slabdata    531    531      9
  kmalloc-96          3853   5280    128   30    1 : tunables  120   60    8 : slabdata    176    176      0

Note that the patch is useful not only for debug case, but also for
PREEMPT_RT, where spinlock_t is always bloated.

Signed-off-by: Kirill A. Shutemov <kirill.shutemov@linux.intel.com>
Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
2014-01-21 16:19:44 -08:00
..
2013-08-14 13:55:15 +05:30
2013-12-23 18:34:58 -08:00
2013-12-12 14:27:57 +01:00
2013-07-30 11:53:12 -04:00
2013-11-08 08:59:44 -07:00
2013-10-28 13:33:58 -06:00
2013-07-03 16:07:39 -07:00
2013-09-23 21:44:16 -04:00
2013-11-15 09:32:23 +09:00
2013-11-15 09:32:21 +09:00
2013-11-09 00:16:29 -05:00
2013-07-15 11:25:00 +09:30
2013-08-26 20:15:23 +09:00
2013-08-22 22:13:54 -07:00
2013-11-15 22:04:17 -05:00
2013-09-29 18:27:03 -07:00
2014-01-16 11:15:50 +01:00
2013-10-16 18:40:57 -07:00
2013-12-10 22:58:13 -08:00
2013-09-13 15:09:52 +02:00
2013-08-09 10:49:00 +02:00
2013-07-26 16:19:48 -07:00
2013-11-15 09:32:23 +09:00
2013-08-28 21:35:14 -07:00
2013-12-11 15:52:34 +01:00
2013-11-13 12:09:11 +09:00
2013-09-23 15:44:58 +09:30
2013-11-09 00:16:19 -05:00
2013-11-09 00:16:19 -05:00
2013-07-03 16:08:05 -07:00
2013-12-10 21:45:15 -05:00
2013-10-14 17:15:48 +02:00
2013-09-03 16:40:32 -04:00
2014-01-21 16:19:42 -08:00
2013-10-17 00:36:06 +02:00
2013-12-18 19:04:50 -08:00
2013-07-03 16:08:05 -07:00
2013-09-10 18:56:32 -04:00
2013-09-12 15:38:02 -07:00
2013-12-08 16:56:05 -08:00
2013-08-05 10:52:36 -06:00
2013-11-14 15:16:16 +11:00
2013-10-17 15:53:09 -04:00
2013-07-10 18:11:34 -07:00