Lines Matching refs:per
4 this_cpu operations are a way of optimizing access to per cpu
7 the cpu permanently stored the beginning of the per cpu area for a
10 this_cpu operations add a per cpu variable offset to the processor
11 specific per cpu base and encode that operation in the instruction
12 operating on the per cpu variable.
28 synchronization is not necessary since we are dealing with per cpu
33 Please note that accesses by remote processors to a per cpu area are
65 per cpu area. It is then possible to simply use the segment override
66 to relocate a per cpu relative address to the proper per cpu area for
67 the processor. So the relocation to the per cpu base is encoded in the
82 from that address which occurs with the per cpu operations. Before
106 Note that these operations can only be used on per cpu data that is
109 per cpu counters is correctly incremented. However, there is no
113 meaningless. The sum of all the per cpu counters is the only value
118 the same code paths. Since each processor has its own per cpu
120 has to be paid for this optimization is the need to add up the per cpu
129 Takes the offset of a per cpu variable (&x !) and returns the address
130 of the per cpu variable that belongs to the currently executing
133 available. Instead, the offset of the local per cpu area is simply
134 added to the per cpu offset.
138 access local per cpu data in a critical section. When preemption
140 no longer point to per cpu data of the current processor.
146 Per cpu variables have *offsets* to the beginning of the per cpu
149 added to a base pointer of a per cpu area of a processor in order to
152 Therefore the use of x or &x outside of the context of per cpu
158 In the context of per cpu operations the above implies that x is a per
163 &x and hence p is the *offset* of a per cpu variable. this_cpu_ptr()
164 takes the offset of a per cpu variable which makes this look a bit
168 Operations on a field of a per cpu structure
212 these per cpu local operations. In that case the operation must be
221 preemption. If a per cpu variable is not used in an interrupt context
263 Remote access to per cpu data
270 There are special cases where you might need to access per cpu data
279 the remote CPU and perform the update to its per cpu area.
281 To access per-cpu data structure remotely, typically the per_cpu_ptr()
300 per cpu data. Write accesses can cause unique problems due to the
304 the following scenario that occurs because two per cpu variables
323 of a remote write to the per cpu area of another processor.
328 missing local cache line of a per cpu area, its performance and hence