Re: [PATCH v2 6/9] mm/swap: handle swapcache lookup in swapin_entry

From: Kairui Song
Date: Mon Jan 15 2024 - 12:11:46 EST


Huang, Ying <ying.huang@xxxxxxxxx> 于2024年1月15日周一 09:47写道:
>
> Kairui Song <ryncsn@xxxxxxxxx> writes:
>
> > Huang, Ying <ying.huang@xxxxxxxxx> 于2024年1月8日周一 16:28写道:
> >>
> >> Kairui Song <ryncsn@xxxxxxxxx> writes:
> >>
> >> > From: Kairui Song <kasong@xxxxxxxxxxx>
> >> >
> >> > Since all callers of swapin_entry need to check the swap cache first, we
> >> > can merge this common routine into swapin_entry, so it can be shared and
> >> > optimized later.
> >> >
> >> > Also introduce a enum to better represent possible swap cache usage, and
> >> > add some comments about it, make the usage of swap cache easier to
> >> > understand.
> >>
> >> I don't find any benefit to do this. The code line number isn't
> >> reduced. The concept of swap cache isn't hided either.
> >
> > Hi Ying
> >
> > Thanks for the comments.
> >
> > Maybe I should squash this with the following commit? The following
> > commit want to do cache lookup in swapin_entry to avoid a redundant
> > shadow lookup, it can help to improve the performance by about 4% for
> > swapin path.
>
> It's good to improve performance. But I don't think we must put
> swap_cache_get_folio() in swapin_entry() to do that. We can just get
> "shadow" from swap_cache_get_folio() and pass it to swapin_entry().

Good idea. My only concern is, if the argument list is getting too
long (7 args if we added all mpol, ilx, shadow here), will that cause
issue for readability or performance?