Re: [PATCH] mm/memcg: avoid page count check for zone device

From: Michal Hocko
Date: Mon Sep 18 2017 - 02:37:17 EST


On Sun 17-09-17 10:45:34, Jerome Glisse wrote:
> On Fri, Sep 15, 2017 at 09:01:00AM +0200, Michal Hocko wrote:
> > On Thu 14-09-17 15:00:11, jglisse@xxxxxxxxxx wrote:
> > > From: Jérôme Glisse <jglisse@xxxxxxxxxx>
> > >
> > > Fix for 4.14, zone device page always have an elevated refcount
> > > of one and thus page count sanity check in uncharge_page() is
> > > inappropriate for them.
> > >
> > > Signed-off-by: Jérôme Glisse <jglisse@xxxxxxxxxx>
> > > Reported-by: Evgeny Baskakov <ebaskakov@xxxxxxxxxx>
> > > Cc: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx>
> > > Cc: Johannes Weiner <hannes@xxxxxxxxxxx>
> > > Cc: Michal Hocko <mhocko@xxxxxxxxxx>
> > > Cc: Vladimir Davydov <vdavydov.dev@xxxxxxxxx>
> >
> > Acked-by: Michal Hocko <mhocko@xxxxxxxx>
> >
> > Side note. Wouldn't it be better to re-organize the check a bit? It is
> > true that this is VM_BUG so it is not usually compiled in but when it
> > preferably checks for unlikely cases first while the ref count will be
> > 0 in the prevailing cases. So can we have
> > VM_BUG_ON_PAGE(page_count(page) && !is_zone_device_page(page) &&
> > !PageHWPoison(page), page);
> >
> > I would simply fold this nano optimization into the patch as you are
> > touching it already. Not sure it is worth a separate commit.
>
> I am traveling sorry for late answer. This nano optimization make sense
> Andrew do you want me to respin or should we leave it be ? I don't mind
> either way.

Andrew, could you fold this into the patch then?
---