> Assuming that we should not check all CPUs. And in this case perhaps we can > even do something like > > if (!delayed_work_pending() && > get_wq_data()->current_work != dwork) > return; > > but this needs barriers, and run_workqueue() needs mb__before_clear_bit(). Linus correctly said that we got into the mess because the locking was too clever before. At this point the mutex approach seems to be rather preferable to the other approaches which are at least as "clever" as the current locking -- To unsubscribe from this list: send the line "unsubscribe kernel-testers" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html