Messages in this thread | | | Date | Mon, 29 Nov 2010 10:16:24 -0600 (CST) | From | Christoph Lameter <> | Subject | Re: [thisops uV2 02/10] vmstat: Optimize zone counter modifications through the use of this cpu operations |
| |
On Sat, 27 Nov 2010, Mathieu Desnoyers wrote:
> * Christoph Lameter (cl@linux.com) wrote: > > this cpu operations can be used to slightly optimize the function. The > > changes will avoid some address calculations and replace them with the > > use of the percpu segment register. > > > > If one would have this_cpu_inc_return and this_cpu_dec_return then it > > would be possible to optimize inc_zone_page_state and dec_zone_page_state even > > more. > > Then we might want to directly target the implementation with > this_cpu_add_return/this_cpu_sub_return (you implement these in patch 03), which > would not need to disable preemption on the fast path. I think we already > discussed this in the past. The reason eludes me at the moment, but I remember > discussing that changing the increment/decrement delta to the nearest powers of > two would let us deal with overflow cleanly. But it's probably too early in the > morning for me to wrap my head around the issue at the moment.
We still would need to disable preemption because multiple this_cpu_ops are needed. The only way to avoid preemption would be if the modifications to the differential and the adding to the per zone counters would be per cpu atomic.
| |