On Tue, Jul 29, 2014 at 08:05:25AM -0400, Tejun Heo wrote: > On Tue, Jul 29, 2014 at 09:56:37AM +0200, Peter Zijlstra wrote: > > On Mon, Jul 28, 2014 at 01:55:17PM -0500, Christoph Lameter wrote: > > > On Fri, 25 Jul 2014, Sasha Levin wrote: > > > > > > > This patch doesn't interact well with my fuzzing setup. I'm seeing > > > > the following: > > > > > > > > [ 490.446927] BUG: using __this_cpu_read() in preemptible [00000000] code: kworker/16:1/7368 > > > > [ 490.447909] caller is __this_cpu_preempt_check+0x13/0x20 > > > > > > __this_cpu_read() from vmstat_update is only called from a kworker that > > > is bound to a single cpu. A false positive? > > > > kworkers are never guaranteed to be so, its a 'feature' :/ > > It's because we don't distinguish work items which are per-cpu for > optimization and per-cpu for correctness and can't automatically flush > / cancel / block per-cpu work items when a cpu goes down. I like the > idea of distingushing them but it's gonna take a lot of auditing. Just force flush on unplug and fix those that complain. No auditing needed for that. > Any work item usage which requires per-cpu for correctness should > implement cpu down hook to flush in-flight work items and block > further issuance. This hasn't changed from the beginning and was > necessary even before cmwq. I think before cmwq we'd run into the broken affinity warning in the scheduler. -- 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>