Re: [RFC PATCH 0/4] Fix excessive CPU usage during compaction

From: Mel Gorman
Date: Sun Jan 29 2023 - 16:13:47 EST


On Sun, Jan 29, 2023 at 07:03:54PM +0100, Vlastimil Babka wrote:
> On 1/26/23 02:11, Andrew Morton wrote:
> > On Wed, 25 Jan 2023 13:44:30 +0000 Mel Gorman <mgorman@xxxxxxxxxxxxxxxxxxx> wrote:
> >
> > 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.
>
> Agreed with the plan b). I couldn't review this yet due to being sick,
> but I doubt I would have enough confidence to fast-track the series to
> 6.2 and 6.1-stable. It's subtle enough area and extra time in -next and
> full -rc cycle will help.

I hope you feel better soon but for what it's worth, I think it also
deserves a full -rc cycle. I've been running it on my own machine for the
last few days using an openSUSE stable kernel with this series applied and
I haven't had problems with kcompactd or khugepaged getting out of control
(monitored via top -b -i). However, I have noticed at least one audio glitch
and I'm not sure if that is related to the series or not. Compaction is
more active than I would have expected from intuition but I've also never
had reason to monitor compaction on my desktop so that's not very useful
in itself. My desktop is a very basic environment (awesome WM, no fancy
animations) and the times when my machine starts thrashing, I also expect
it to because it's the weekly "run git gc on every git tree Friday evening
if X is idle more than an hour".

--
Mel Gorman
SUSE Labs