Lines Matching refs:per

15 CPUs on remote nodes. In TF-A's current implementation, per-CPU data (for
22 node may be insufficient to hold per-CPU data for all CPUs. This constraint
25 .. figure:: ../resources/diagrams/per-cpu-numa-disabled.png
38 traversal. When per-CPU data is centralized on a single node, CPUs on remote
45 framework optimizes the allocation and access of per-CPU objects by letting
52 **allocating**, **defining**, and **accessing** per-CPU data in a NUMA-aware
60 to **allocate** per-CPU global variables and ensure that these objects reside in
61 the local memory of each NUMA node. The figure below illustrates how per-CPU
64 .. figure:: ../resources/diagrams/per-cpu-numa-enabled.png
71 \`.bss\` and \`xlat\` to represent per-CPU data allocation, while
73 per-CPU memory regions.
75 *Figure: BL31/BL32 binary storage in local memory of per node when per-cpu NUMA
79 bounds and per-object stride via internal symbols so that they can be replicated
91 .. figure:: ../resources/diagrams/per-cpu-false-sharing.png
96 representing per-CPU data objects, while CPU 1 and CPU 3 have that
98 per-CPU data object, triggering a coherence transaction over the
107 - Places all per-CPU variables into a **dedicated, aligned** section
116 per-CPU objects efficiently in multi-node systems.
120 Declares an external per-CPU object so that other translation units can refer
125 Defines a per-CPU object and assigns it to ``PER_CPU_SECTION_NAME`` so the
131 The NUMA-Aware Per-CPU Framework also provides macros to access per-CPU objects
136 Returns a pointer to the per-CPU object ``NAME`` for the specified CPU by
137 combining the per-node base with the object's offset within ``.per_cpu``.
141 Returns a pointer to the per-CPU object ``NAME`` for the current CPU.
146 calculation. It accepts the label of the per-CPU object and optional register
147 arguments (destination and clobber) to materialize the per-CPU pointer without
154 requirements in order for the runtime to correctly set up per-CPU sections on
161 makefile to enable NUMA-aware per-CPU support:
165 PLATFORM_NODE_COUNT := 2 # >= 2 enables NUMA-aware per-CPU support
185 return ``UINT64_MAX`` to signal that no per-CPU section exists for that node.
193 Platform-defined regions that hold remote per-CPU sections must have
195 which requires page alignment for mapped entries. The per-CPU section itself
213 Cleans the entire per-CPU section from the data cache. This ensures that any
214 modifications made to per-CPU data are written back to memory, making them