Lines Matching +full:foo +full:- +full:queue
1 .. SPDX-License-Identifier: GPL-2.0
8 architecture-independent abstraction to represent the physical memory. This
13 `Non-Uniform Memory Access (NUMA)
14 <https://en.wikipedia.org/wiki/Non-uniform_memory_access>`_.
15 With multi-core and multi-socket machines, memory may be arranged into banks
42 memory with DMA specific requirements (Documentation/core-api/dma-api.rst),
47 ``CONFIG_ZONE_DMA32`` configuration options. Some 64-bit platforms may need
59 only on some 32-bit architectures and is enabled with ``CONFIG_HIGHMEM``.
69 Documentation/admin-guide/mm/memory-hotplug.rst for additional details.
85 For example, with 32-bit kernel on an x86 UMA machine with 2 Gbytes of RAM the
90 +-------------------------------------------------------------+
92 +-------------------------------------------------------------+
95 +----------+-----------------------+--------------------------+
97 +----------+-----------------------+--------------------------+
108 +--------------------------------+ +--------------------------+
110 +--------------------------------+ +--------------------------+
113 +---------+----------+-----------+ +------------+-------------+
115 +---------+----------+-----------+ +------------+-------------+
124 +-------------+ +-------------+ +-------------+ +-------------+
126 +-------------+ +-------------+ +-------------+ +-------------+
129 +-----+-------+ +-------------+ +-------------+ +-------------+
131 +-----+-------+ +-------------+ +-------------+ +-------------+
143 Linux uses a node-local allocation policy to allocate memory from the node
147 Documentation/admin-guide/mm/numa_memory_policy.rst.
193 For instance, to call a function foo() for each online node::
198 foo(pgdat);
202 --------------
255 This is a per-node reserve of pages that are not available to userspace
264 …Per-node queue of huge pages that their split was deferred. Defined only when ``CONFIG_TRANSPARENT…
267 Per-node lruvec holding LRU lists and related parameters. Used only when
277 Per-node instance of kswapd kernel thread.
322 Per-node instance of kcompactd kernel thread.
332 Per-CPU VM statistics for the node
346 The page allocator uses the GFP flags, see :ref:`mm-api-gfp-flags`, specified by
357 At runtime, free pages in a zone are in the Per-CPU Pagesets (PCP) or free areas
358 of the zone. The Per-CPU Pagesets are a vital mechanism in the kernel's memory
360 each CPU, the Per-CPU Pagesets improve performance and scalability, especially
361 on systems with many cores. The page allocator in the kernel employs a two-step
362 strategy for memory allocation, starting with the Per-CPU Pagesets before
363 falling back to the buddy allocator. Pages are transferred between the Per-CPU
371 --------------
401 The number of pages which are reserved for high-order atomic allocations.
430 Pointer to the Per-CPU Pagesets (PCP) allocated and initialized by
436 Copied to the ``high_min`` of the Per-CPU Pagesets for faster access.
439 Copied to the ``high_max`` of the Per-CPU Pagesets for faster access.
442 Copied to the ``batch`` of the Per-CPU Pagesets for faster access. The
443 ``batch``, ``high_min`` and ``high_max`` of the Per-CPU Pagesets are used to
444 calculate the number of elements the Per-CPU Pagesets obtain from the buddy
446 to decide if the Per-CPU Pagesets return pages to the buddy allocator in page
451 ``include/linux/pageblock-flags.h`` for flags list). The memory is allocated
462 ``managed_pages`` = ``present_pages`` - ``reserved_pages``, ``reserved_pages``
471 ``spanned_pages`` = ``zone_end_pfn`` - ``zone_start_pfn``. It is initialized
476 ``present_pages`` = ``spanned_pages`` - ``absent_pages`` (pages in holes). It
478 unmanaged pages by checking (``present_pages`` - ``managed_pages``). Write
501 ``zone->lock``. Defined only when ``CONFIG_MEMORY_ISOLATION`` is enabled.
505 seqlock because it has to be read outside of ``zone->lock``, and it is done in
540 the number of free pages to avoid per-cpu counter drift allowing watermarks
604 Per-CPU VM statistics for the zone. It records VM statistics and VM NUMA event
605 statistics on a per-CPU basis. It reduces updates to the global ``vm_stat``