Lines Matching refs:mmap

45 * **mmap locks** - Each MM has a read/write semaphore :c:member:`!mmap_lock`
52 automatically when the mmap write lock is released). To take a VMA write lock
77 * Obtain an mmap read lock at the MM granularity via :c:func:`!mmap_read_lock` (or a
82 required to instead obtain an mmap read lock if this returns :c:macro:`!NULL`,
90 * Obtain an mmap write lock at the MM granularity via :c:func:`!mmap_write_lock` (or a
99 VMA locks are special in that you must obtain an mmap **write** lock **first**
116 mmap lock VMA lock rmap lock Stable? Read? Write most? Write all?
126 .. warning:: While it's possible to obtain a VMA lock while holding an mmap read lock,
128 another task already holds an mmap write lock and attempts to acquire a VMA
156 :c:member:`!vm_start` Inclusive start virtual address of range mmap write,
159 :c:member:`!vm_end` Exclusive end virtual address of range mmap write,
162 :c:member:`!vm_pgoff` Describes the page offset into the file, mmap write,
181 :c:member:`!vm_page_prot` Architecture-specific page table mmap write, VMA write.
188 :c:member:`!__vm_flags` Private, writable access to VMA flags mmap write, VMA write.
197 :c:struct:`!struct vm_operations_struct` :c:func:`!f_ops->mmap()`.
211 :c:member:`!anon_name` CONFIG_ANON_VMA_NAME A field for storing a mmap write,
219 :c:member:`!swap_readahead_info` CONFIG_SWAP Metadata used by the swap mechanism mmap read,
222 :c:member:`!vm_policy` CONFIG_NUMA :c:type:`!mempolicy` object which mmap write,
226 :c:member:`!numab_state` CONFIG_NUMA_BALANCING :c:type:`!vma_numab_state` object which mmap read,
229 Updated under mmap read lock by
231 :c:member:`!vm_userfaultfd_ctx` CONFIG_USERFAULTFD Userfaultfd context wrapper object of mmap write,
248 :c:member:`!shared.rb` A red/black tree node used, if the mmap write, VMA write,
253 :c:member:`!shared.rb_subtree_last` Metadata used for management of the mmap write, VMA write,
255 :c:member:`!anon_vma_chain` List of pointers to both forked/CoW’d mmap read, anon_vma write.
261 this VMA. Initially set by mmap read, page_table_lock.
265 mmap write, VMA write,
309 requires that the VMA is kept stable via an mmap or VMA lock (explicitly not
330 locks described in the terminology section above - that is the mmap lock, the
338 When **installing** page table entries, the mmap or VMA lock must be held to
499 * Populating previously empty entries requires that the mmap or VMA locks are
503 stable, that is holding any one of the mmap, VMA or rmap locks.
523 * When empty, they can be unlinked and RCU-freed while holding an mmap lock or
595 mmap or VMA lock in read or write mode (see the warning in the locking rules
662 It is insufficient to simply hold an mmap write lock and VMA lock (which will
671 either the mmap write lock has been taken (as specified by its
699 the mmap lock, the VMA lock and the relevant rmap locks.
719 In cases when the user already holds mmap read lock, :c:func:`!vma_start_read_locked`
730 acquired. An mmap write lock **must** be held for the duration of the VMA write
731 lock, releasing or downgrading the mmap write lock also releases the VMA write
745 of the heavily contended mmap lock. It is implemented using a combination of a
760 Writing requires the mmap to be write-locked and the VMA lock to be acquired via
762 downgrade of the mmap write lock so no :c:func:`!vma_end_write` is required.
772 Each time the mmap write lock is released in :c:func:`!mmap_write_unlock` or
778 is never incorrectly indicated and that when we release an mmap write lock we
779 efficiently release **all** VMA write locks contained within the mmap at the
782 Since the mmap write lock is exclusive against others who hold it, the automatic
802 the mm. During this entire operation mmap write lock is held.
809 indicate VMA's write-locked state until mmap write lock is dropped or downgraded.
815 mmap write lock downgrading
818 When an mmap write lock is held one has exclusive access to resources within the
819 mmap (with the usual caveats about requiring VMA write locks to avoid races with
825 importantly does not relinquish the mmap lock while downgrading, therefore