Re: [PATCHv4 03/24] mm: avoid PG_locked on tail pages

From: Kirill A. Shutemov
Date: Wed Mar 04 2015 - 15:56:55 EST


On Wed, Mar 04, 2015 at 12:48:54PM -0600, Christoph Lameter wrote:
> On Wed, 4 Mar 2015, Kirill A. Shutemov wrote:
>
> > index c851ff92d5b3..58b98bced299 100644
> > --- a/include/linux/page-flags.h
> > +++ b/include/linux/page-flags.h
> > @@ -207,7 +207,8 @@ static inline int __TestClearPage##uname(struct page *page) { return 0; }
> >
> > struct page; /* forward declaration */
> >
> > -TESTPAGEFLAG(Locked, locked)
> > +#define PageLocked(page) test_bit(PG_locked, &compound_head(page)->flags)
> > +
> > PAGEFLAG(Error, error) TESTCLEARFLAG(Error, error)
>
> Hmmm... Now one of the pageflag functions operates on the head page unlike
> the other pageflag functions that only operate on the flag indicated.
>
> Given that pageflags provide a way to implement checks for head / tail
> pages this seems to be a bad idea.

I agree, I need to take more systematic look on page flags vs. compound
pages. I'll try to come up with something before the summit.

--
Kirill A. Shutemov
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/