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

From: Yu Zhao
Date: Fri Sep 18 2020 - 17:01:34 EST


On Fri, Sep 18, 2020 at 01:46:59PM -0700, Hugh Dickins wrote:
> On Thu, 17 Sep 2020, 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?
> >
> > Thank you.
> >
> > Yu Zhao (13):
> > mm: use add_page_to_lru_list()
> > mm: use page_off_lru()
> > mm: move __ClearPageLRU() into page_off_lru()
> > mm: shuffle lru list addition and deletion functions
> > mm: don't pass enum lru_list to lru list addition functions
> > mm: don't pass enum lru_list to trace_mm_lru_insertion()
> > mm: don't pass enum lru_list to del_page_from_lru_list()
> > mm: rename page_off_lru() to __clear_page_lru_flags()
> > mm: inline page_lru_base_type()
> > mm: VM_BUG_ON lru page flags
> > mm: inline __update_lru_size()
> > mm: make lruvec_lru_size() static
> > mm: enlarge the int parameter of update_lru_size()
> >
> > include/linux/memcontrol.h | 14 ++--
> > include/linux/mm_inline.h | 115 ++++++++++++++-------------------
> > include/linux/mmzone.h | 2 -
> > include/linux/vmstat.h | 2 +-
> > include/trace/events/pagemap.h | 11 ++--
> > mm/compaction.c | 2 +-
> > mm/memcontrol.c | 10 +--
> > mm/mlock.c | 2 +-
> > mm/swap.c | 53 ++++++---------
> > mm/vmscan.c | 28 +++-----
> > 10 files changed, 95 insertions(+), 144 deletions(-)
> >
> > --
> > 2.28.0.681.g6f77f65b4e-goog
>
> Sorry, Yu, I may be out-of-line in sending this: but as you know,
> Alex Shi has a long per-memcg lru_lock series playing in much the
> same area (particularly conflicting in mm/swap.c and mm/vmscan.c):
> a patchset that makes useful changes, that I'm very keen to help
> into mmotm a.s.a.p (but not before I've completed diligence).
>
> We've put a lot of effort into its testing, I'm currently reviewing
> it patch by patch (my general silence indicating that I'm busy on that,
> but slow as ever): so I'm a bit discouraged to have its stability
> potentially undermined by conflicting cleanups at this stage.
>
> If there's general agreement that your cleanups are safe and welcome
> (Michal's initial reaction sheds some doubt on that), great: I hope
> that Andrew can fast-track them into mmotm, then Alex rebase on top
> of them, and I then re-test and re-review.
>
> But if that quick agreement is not forthcoming, may I ask you please
> to hold back, and resend based on top of Alex's next posting?

The per-memcg lru lock series seems a high priority, and I have
absolutely no problem accommodate your request.

In return, may I ask you or Alex to review this series after you
have finished with per-memcg lru lock (to make sure that I resolve
all the conflicts correctly at least)?