Lines Matching refs:of

4 this_cpu operations are a way of optimizing access to per cpu
6 done through the use of segment registers (or a dedicated register where
7 the cpu permanently stored the beginning of the per cpu area for a
14 This means that there are no atomicity issues between the calculation of
17 processor is not changed between the calculation of the address and
20 Read-modify-write operations are of particular interest. Frequently
23 sort of relaxed atomicity guarantees. The x86, for example, can execute
35 (remote write operations) of local RMW operations via this_cpu_*.
37 The main use of the this_cpu operations has been to optimize counter
61 Inner working of this_cpu operations
64 On x86 the fs: or the gs: segment registers contain the base of the
81 instead of a sequence of calculation of the address and then a fetch
95 instead of the following operations required if there is no segment
108 surrounding code this_cpu_inc() will only guarantee that one of the
112 the value of the individual counters for each processor are
113 meaningless. The sum of all the per cpu counters is the only value
114 that is of interest.
121 counters when the value of a counter is needed.
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
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
196 The calculation of the pointer may require the use of this_cpu_ptr()
197 if we do not make use of this_cpu ops later to manipulate fields:
208 Variants of this_cpu ops
254 adds the offset of the n field. This may result in two add
296 but, passing of pointers calculated via this_cpu_ptr to other cpus is
299 Remote access are typically only for reading the status of another cpus
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