Re: [PATCH v6 02/10] mm/lru: replace pgdat lru_lock with lruvec lock

From: Matthew Wilcox
Date: Mon Dec 16 2019 - 21:16:23 EST


On Tue, Dec 17, 2019 at 09:30:13AM +0800, Alex Shi wrote:
> å 2019/12/16 äå8:14, Matthew Wilcox åé:
> > On Mon, Dec 16, 2019 at 05:26:18PM +0800, Alex Shi wrote:
> >> -static void lock_page_lru(struct page *page, int *isolated)
> >> +static struct lruvec *lock_page_lru(struct page *page, int *isolated)
> >> {
> >> - pg_data_t *pgdat = page_pgdat(page);
> >> + struct lruvec *lruvec = lock_page_lruvec_irq(page);
> >>
> >> - spin_lock_irq(&pgdat->lru_lock);
> >> if (PageLRU(page)) {
> >> - struct lruvec *lruvec;
> >>
> >> - lruvec = mem_cgroup_page_lruvec(page, pgdat);
> >> ClearPageLRU(page);
> >> del_page_from_lru_list(page, lruvec, page_lru(page));
> >> *isolated = 1;
> >> } else
> >> *isolated = 0;
> >> +
> >> + return lruvec;
> >> }
> >
> > You still didn't fix this function. Go back and look at my comment from
> > the last time you sent this patch set.
> >
>
> Sorry for the misunderstanding. I guess what your want is fold the patch 9th into this, is that right?
> Any comments for the 9th patch?

I didn't get as far as looking at the ninth patch because I saw this
one was wrong and stopped looking. This is not the first time *with
this patch set* that you've been told to *fix the patch*, not submit
something that's broken and fix it in a later patch.

I'll look at patch 9 later.