> > No. All that does is make sure that the cpu you start out on is
> > flushed, once or twice, and the cpu you end up on may be missed.
> > Use preempt_disable and preempt_enable.
>
> Oh, you are right! I think I am totally stupid this morning...!
> Now finally I hope this is the correct patch...
That would appear to do what you want, but its an ugly construct to
be repeating everywhere that wants to call a function on all CPUs.
It would probably clean things up a lot if we had a function to do..
static inline void on_each_cpu(void *func)
{
#ifdef CONFIG_SMP
preempt_disable();
smp_call_function(func, NULL, 1, 1);
func(NULL);
preempt_enable();
#else
func(NULL);
#endif
}
Bluesmoke and agpgart could both use this to cleanup some mess,
and no doubt there are others
Comments?
Dave
-- | Dave Jones. http://www.codemonkey.org.uk - To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to majordomo@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/