Re: [PATCH 00/13] mm: clean up some lru related pieces

From: Michal Hocko
Date: Fri Sep 18 2020 - 03:45:54 EST


On Thu 17-09-20 21:00:38, Yu Zhao wrote:
> Hi Andrew,
>
> I see you have taken this:
> mm: use add_page_to_lru_list()/page_lru()/page_off_lru()
> Do you mind dropping it?
>
> Michal asked to do a bit of additional work. So I thought I probably
> should create a series to do more cleanups I've been meaning to.
>
> This series contains the change in the patch above and goes a few
> more steps farther. It's intended to improve readability and should
> not have any performance impacts. There are minor behavior changes in
> terms of debugging and error reporting, which I have all highlighted
> in the individual patches. All patches were properly tested on 5.8
> running Chrome OS, with various debug options turned on.
>
> Michal,
>
> Do you mind taking a looking at the entire series?

I have stopped at patch 3 as all patches until then are really missing
any justification. What is the point for all this to be done? The code
is far from trivial and just shifting around sounds like a risk. You are
removing ~50 LOC which is always nice but I am not sure the resulting
code is better maintainble or easier to read and understand. Just
consider __ClearPageLRU moving to page_off_lru patch. What is the
additional value of having the flag moved and burry it into a function
to have even more side effects? I found the way how __ClearPageLRU is
nicely close to removing it from LRU easier to follow. This is likely
subjective and other might think differently but as it is not clear what
is your actual goal here it is hard to judge pros and cons.

--
Michal Hocko
SUSE Labs