Re: [PATCH -next v3 2/7] mm/damon: introduce damon_get_folio()

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



Hi Matthew,

On Wed, 28 Dec 2022 22:36:20 +0000 Matthew Wilcox <willy@xxxxxxxxxxxxx> wrote:

> On Wed, Dec 28, 2022 at 07:34:08PM +0800, Kefeng Wang wrote:
> > +static inline struct page *damon_get_page(unsigned long pfn)
> > +{
> > +	struct folio *folio = damon_get_folio(pfn);
> > +
> > +	/* when folio is NULL, return &(0->page) mean return NULL */
> > +	return &folio->page;
> 
> I really don't think this comment is needed.  This is the standard idiom
> for converting from a folio to its head page.

Well, I think some of DAMON code readers (at least me) might not yet that
familiar with Folio, as it has not been a while since DAMON started using
Folio.  Also, maybe I overlooked some comments or documents, but I was unable
to sure if the offset of 'page' in 'folio' is intended to be never changed with
any future changes, or not.  So I thought adding one more line of explanation
here could be helpful for someone.

I also show some code using 'folio_page(folio, 0)', so I might not be the only
one who at least sometimes forget the idiom.  For helping people remember this
idiom easier, what do you think about having a new macro or static inline
function, say, 'folio_head_page()' and comment why passing NULL is ok on the
function?  IMHO, that would be easier to read.


Thanks,
SJ




[Index of Archives]     [Linux ARM Kernel]     [Linux ARM]     [Linux Omap]     [Fedora ARM]     [IETF Annouce]     [Bugtraq]     [Linux OMAP]     [Linux MIPS]     [eCos]     [Asterisk Internet PBX]     [Linux API]

  Powered by Linux