On Wed, Feb 27, 2008 at 02:27:13PM +0100, Ingo Molnar wrote: > > * Nick Piggin <npiggin@xxxxxxx> wrote: > > > This isn't finished yet, however I'd just like to ask for comments. > > looks really interesting! > > only one fundamental observation: > > > +struct call_data { > > + spinlock_t lock; > > + struct list_head list; > > void (*func) (void *info); > > void *info; > > + unsigned int flags; > > + unsigned int refs; > > + cpumask_t cpumask; > > + struct rcu_head rcu_head; > > }; > > > +struct call_single_data { > > + struct list_head list; > > + void (*func) (void *info); > > + void *info; > > + unsigned int flags; > > +}; > > the two structures are quite similar in size and role - why not have a > type field and handle them largely together? I think we should try to > preserve a single queue and a single vector - that would remove a number > of ugly special-cases from the patch. A single queue will kill one of the big fundamental scalability improvements of the call_single. That's the problem. - To unsubscribe from this list: send the line "unsubscribe linux-arch" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html