Messages in this thread | | | Date | Tue, 22 Apr 2008 12:22:32 -0700 (PDT) | From | Linus Torvalds <> | Subject | Re: [PATCH 2/11] x86: convert to generic helpers for IPI function calls |
| |
On Tue, 22 Apr 2008, Ingo Molnar wrote: > > > Or is it just a performance optimization? [...] > > yes and i gave in - Nick and Jens wants to do some crazy stuff and they > had the numbers. Here's the previous discussion: > > http://lkml.org/lkml/2008/2/27/125
No, the previous discussion was about single *queues* vs single *vectors*.
I agree unconditionally with the decision to use a separate per-cpu queue from the shared queue (in fact, I would argue that the "mask" code might want to notice when the mask is just a single CPU, and turn a mask request into a targeted request).
But I wonder why we want to then have two IPI target vectors, when it would appear to be perfectly fine and cheap to have just a single vector that can handle both the per-cpu case and the shared queue case (since the thing would tend to be one or the other, not both).
A single vector is still pefectly fine, if 99% of all usage cases are the targeted-to-a-single-cpu thing, because the shared queue will basically be empty (and you can test that without even taking any locks).
Linus
| |