Lines Matching +full:multi +full:- +full:threaded
5 Originally, mm->page_table_lock spinlock protected all page tables of the
7 multi-threaded applications due high contention on the lock. To improve
10 With split page table lock we have separate per-table lock to serialize
12 tables. Access to higher level tables protected by mm->page_table_lock.
16 - pte_offset_map_lock()
19 - pte_offset_map_ro_nolock()
22 - pte_offset_map_rw_nolock()
26 - pte_offset_map()
28 - pte_unmap()
30 - pte_unmap_unlock()
32 - pte_alloc_map_lock()
35 - pmd_lock()
37 - pmd_lockptr()
40 Split page table lock for PTE tables is enabled compile-time if
42 If split lock is disabled, all tables are guarded by mm->page_table_lock.
53 Hugetlb-specific helpers:
55 - huge_pte_lock()
56 takes pmd split lock for PMD_SIZE page, mm->page_table_lock
58 - huge_pte_lockptr()
69 allocation: slab uses page->slab_cache for its pages.
70 This field shares storage with page->ptl.
84 NOTE: pagetable_pte_ctor() and pagetable_pmd_ctor() can fail -- it must
87 page->ptl
90 page->ptl is used to access split page table lock, where 'page' is struct
91 page of page containing the table. It shares storage with page->private
97 - if spinlock_t fits into long, we use page->ptr as spinlock, so we
99 - if size of spinlock_t is bigger then size of long, we use page->ptl as
107 Please, never access page->ptl directly -- use appropriate helper.