[<prev] [next>] [thread-next>] [day] [month] [year] [list]
Message-ID: <20210224122439.176543586@infradead.org>
Date: Wed, 24 Feb 2021 13:24:39 +0100
From: Peter Zijlstra <peterz@...radead.org>
To: Ingo Molnar <mingo@...nel.org>,
Thomas Gleixner <tglx@...utronix.de>
Cc: Valentin Schneider <valentin.schneider@....com>,
Vincent Guittot <vincent.guittot@...aro.org>,
Mel Gorman <mgorman@...e.de>,
Dietmar Eggemann <dietmar.eggemann@....com>,
linux-kernel@...r.kernel.org, peterz@...radead.org,
Andi Kleen <andi@...stfloor.org>
Subject: [PATCH 0/6] sched: Fix affine_move_task() wreckage
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+L0BYEyG@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
Powered by blists - more mailing lists