Hi! The long and short of it is that commit 6d337eab041d ("sched: Fix migrate_disable() vs set_cpus_allowed_ptr()") is utterly wrecked and it is a miracle it doesn't insta explode for anybody (else).
The longer story is that after some initial confusion and tracing I found the first problem and send (patch #1): https://lkml.kernel.org/r/ycflhxpl+l0by...@hirez.programming.kicks-ass.net and was hoping that was the end of it (ha!). Obviously the one machine that did manage to trigger this instantly found the next problem, now addressed in patch #5. The even longer story is that Monday last I sat down with a large piece of (virtual) paper, basically threw the entire affine_move_task() / migration_cpu_stop() logic out and while doodling re-implemented it all. The difficult machine was happy on the second try after that. Ofcourse, at that point I had a single huge rewrite of commit 6d337eab041d, and I pondered sending it like that. However I figured that for review and posterity it might be easier/better to do smaller steps. So today I reverse engineerd a possible logical path between the two states. I'm hoping nothing got wrecked while doing the cleanups :-) Patches also in: git://git.kernel.org/pub/scm/linux/kernel/git/peterz/queue.git sched/urgent