Messages in this thread |  | | | Date | Wed, 20 Feb 2008 09:08:25 +0100 | | From | Jens Axboe <> | | Subject | Re: IO queueing and complete affinity w/ threads: Some results |
| |
On Tue, Feb 19 2008, Mike Travis wrote: > Paul Jackson wrote: > > Jens wrote: > >> My main worry with the current code is the ->lock in the per-cpu > >> completion structure. > > > > Drive-by-comment here: Does the patch posted later this same day by Mike Travis: > > > > [PATCH 0/2] percpu: Optimize percpu accesses v3 > > > > help with this lock issue any? (I have no real clue here -- just connecting > > up the pretty colored dots ;). > > > > I'm not sure of the context here but a big motivation for doing the > zero-based per_cpu variables was to optimize access to the local > per cpu variables to one instruction, reducing the need for locks.
I'm afraid the two things aren't related, although faster access to per-cpu is of course a benefit for this as well. My expressed concern was the:
spin_lock(&bc->lock); was_empty = list_empty(&bc->list); list_add_tail(&req->donelist, &bc->list); spin_unlock(&bc->lock);
where 'bc' may be per-cpu data of another CPU
-- Jens Axboe
|  |