Lines Matching refs:lock
1 Split page table lock
6 multi-threaded applications due high contention on the lock. To improve
7 scalability, split page table lock was introduced.
9 With split page table lock we have separate per-table lock to serialize
10 access to the table. At the moment we use split lock for PTE and PMD
13 There are helpers to lock/unlock a table and other accessor functions:
15 maps pte and takes PTE table lock, returns pointer to the taken
16 lock;
20 allocates PTE table if needed and take the lock, returns pointer
21 to taken lock or NULL if allocation failed;
23 returns pointer to PTE table lock;
25 takes PMD table lock, returns pointer to taken lock;
27 returns pointer to PMD table lock;
29 Split page table lock for PTE tables is enabled compile-time if
31 If split lock is disabled, all tables guaded by mm->page_table_lock.
33 Split page table lock for PMD tables is enabled, if it's enabled for PTE
36 Hugetlb and split page table lock
39 Hugetlb can support several page sizes. We use split lock only for PMD
44 takes pmd split lock for PMD_SIZE page, mm->page_table_lock
47 returns pointer to table lock;
49 Support of split page table lock by an architecture
52 There's no need in special enabling of PTE split page table lock:
60 PMD split lock only makes sense if you have more than two page table
63 PMD split lock enabling requires pgtable_pmd_page_ctor() call on PMD table
78 page->ptl is used to access split page table lock, where 'page' is struct
88 split lock with enabled DEBUG_SPINLOCK or DEBUG_LOCK_ALLOC, but costs