.. | .. |
---|
54 | 54 | Support of split page table lock by an architecture |
---|
55 | 55 | =================================================== |
---|
56 | 56 | |
---|
57 | | -There's no need in special enabling of PTE split page table lock: |
---|
58 | | -everything required is done by pgtable_page_ctor() and pgtable_page_dtor(), |
---|
59 | | -which must be called on PTE table allocation / freeing. |
---|
| 57 | +There's no need in special enabling of PTE split page table lock: everything |
---|
| 58 | +required is done by pgtable_pte_page_ctor() and pgtable_pte_page_dtor(), which |
---|
| 59 | +must be called on PTE table allocation / freeing. |
---|
60 | 60 | |
---|
61 | 61 | Make sure the architecture doesn't use slab allocator for page table |
---|
62 | 62 | allocation: slab uses page->slab_cache for its pages. |
---|
.. | .. |
---|
74 | 74 | |
---|
75 | 75 | With everything in place you can set CONFIG_ARCH_ENABLE_SPLIT_PMD_PTLOCK. |
---|
76 | 76 | |
---|
77 | | -NOTE: pgtable_page_ctor() and pgtable_pmd_page_ctor() can fail -- it must |
---|
| 77 | +NOTE: pgtable_pte_page_ctor() and pgtable_pmd_page_ctor() can fail -- it must |
---|
78 | 78 | be handled properly. |
---|
79 | 79 | |
---|
80 | 80 | page->ptl |
---|
.. | .. |
---|
94 | 94 | split lock with enabled DEBUG_SPINLOCK or DEBUG_LOCK_ALLOC, but costs |
---|
95 | 95 | one more cache line for indirect access; |
---|
96 | 96 | |
---|
97 | | -The spinlock_t allocated in pgtable_page_ctor() for PTE table and in |
---|
| 97 | +The spinlock_t allocated in pgtable_pte_page_ctor() for PTE table and in |
---|
98 | 98 | pgtable_pmd_page_ctor() for PMD table. |
---|
99 | 99 | |
---|
100 | 100 | Please, never access page->ptl directly -- use appropriate helper. |
---|