Re: [RFC PATCH 0/4] Fix excessive CPU usage during compaction
From: Andrew Morton
Date: Wed Jan 25 2023 - 20:12:05 EST
On Wed, 25 Jan 2023 13:44:30 +0000 Mel Gorman <mgorman@xxxxxxxxxxxxxxxxxxx> wrote:
> Commit 7efc3b726103 ("mm/compaction: fix set skip in fast_find_migrateblock")
> fixed a problem where pageblocks found by fast_find_migrateblock() were
> ignored. Unfortunately there were numerous bug reports complaining about high
> CPU usage and massive stalls once 6.1 was released. Due to the severity,
> the patch was reverted by Vlastimil as a short-term fix[1] to -stable and
> is currently sitting in the Andrew's git branch mm/mm-hotfixes-unstable.
>
> The underlying problem for each of the bugs is suspected to be the
> repeated scanning of the same pageblocks. This series should guarantee
> forward progress even with commit 7efc3b726103. More information is in
> the changelog for patch 4.
>
> If this series is accepted and merged after the revert of 7efc3b726103
> then a "revert of the revert" will be needed.
If we drop Vlastimil's reversion and apply this, the whole series
should be cc:stable and it isn't really designed for that.
So I think either
a) drop Vlastimil's reversion and persuade Mel to send us a minimal
version of patch #4 for -stable consumption. Patches 1-3 of this
series come later.
b) go ahead with Vlastimil's revert for -stable, queue up this
series for 6.3-rc1 and redo the original "fix set skip in
fast_find_migrateblock" some time in the future.
If we go with b) then the Fixes: tag in "[PATCH 4/4] mm, compaction:
Finish pageblocks on complete migration failure" is inappropriate -
fixing a reverted commit which Vlastimil's revert already fixed.
I'll plan on b) for now.