On Wed, Oct 14, 2015 at 10:57 AM, Christoph Lameter <cl@xxxxxxxxx> wrote: > > Well yes the schedule_delayed_work_on() call is from another cpu and the > schedule_delayed_work() from the same. No confusion there. So "schedule_delayed_work()" does *not* guarantee that the work will run on the same CPU. Yes, yes, it so _happens_ that "add_timer()" preferentially uses the current CPU etc, so in practice it may have happened to work. But there's absolutely zero reason to think it should always work that way. If you want the scheduled work to happen on a particular CPU, then you should use "schedule_delayed_work_on()" It shouldn't matter which CPU you call it from. At least that's how I think the rules should be. Very simple, very clear: if you require a specific CPU, say so. Don't silently depend on "in practice, lots of times we tend to use the local cpu". Linus -- To unsubscribe, send a message with 'unsubscribe linux-mm' in the body to majordomo@xxxxxxxxx. For more info on Linux MM, see: http://www.linux-mm.org/ . Don't email: <a href=mailto:"dont@xxxxxxxxx"> email@xxxxxxxxx </a>