linux/include
Kirill A. Shutemov 49076ec2cc mm: dynamically allocate page->ptl if it cannot be embedded to struct page
If split page table lock is in use, we embed the lock into struct page
of table's page.  We have to disable split lock, if spinlock_t is too
big be to be embedded, like when DEBUG_SPINLOCK or DEBUG_LOCK_ALLOC
enabled.

This patch add support for dynamic allocation of split page table lock
if we can't embed it to struct page.

page->ptl is unsigned long now and we use it as spinlock_t if
sizeof(spinlock_t) <= sizeof(long), otherwise it's pointer to spinlock_t.

The spinlock_t allocated in pgtable_page_ctor() for PTE table and in
pgtable_pmd_page_ctor() for PMD table.  All other helpers converted to
support dynamically allocated page->ptl.

Signed-off-by: Kirill A. Shutemov <kirill.shutemov@linux.intel.com>
Reviewed-by: Peter Zijlstra <peterz@infradead.org>
Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
2013-11-15 09:32:20 +09:00
..
acpi ACPI and power management updates for 3.13-rc1 2013-11-14 13:41:48 +09:00
asm-generic Merge branch 'akpm' (patches from Andrew Morton) 2013-11-13 15:45:43 +09:00
clocksource
crypto
drm
dt-bindings The clock changes for 3.13 are an even mix of framework improvements & 2013-11-12 16:11:47 +09:00
keys
kvm
linux mm: dynamically allocate page->ptl if it cannot be embedded to struct page 2013-11-15 09:32:20 +09:00
math-emu
media
memory
misc
net netfilter: push reasm skb through instead of original frag skbs 2013-11-11 00:19:35 -05:00
pcmcia
ras
rdma
rxrpc
scsi Pull Request for 3.13 2013-11-10 12:19:15 +08:00
sound Merge remote-tracking branch 'asoc/topic/twl4030' into asoc-next 2013-11-08 10:43:40 +00:00
target
trace Merge branch 'core-locking-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip 2013-11-14 16:30:30 +09:00
uapi PCI changes for the v3.13 merge window: 2013-11-14 14:02:00 +09:00
video fbdev changes for 3.13 2013-11-14 14:44:20 +09:00
xen
Kbuild