[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <20180131203242.GB21609@dhcp22.suse.cz>
Date: Wed, 31 Jan 2018 21:32:42 +0100
From: Michal Hocko <mhocko@...nel.org>
To: Andrew Morton <akpm@...ux-foundation.org>
Cc: Anshuman Khandual <khandual@...ux.vnet.ibm.com>,
linux-mm@...ck.org, linux-kernel@...r.kernel.org
Subject: Re: [RFC] mm/migrate: Add new migration reason MR_HUGETLB
On Wed 31-01-18 12:12:17, Andrew Morton wrote:
> On Wed, 31 Jan 2018 08:58:52 +0100 Michal Hocko <mhocko@...nel.org> wrote:
>
> > On Wed 31-01-18 07:55:05, Anshuman Khandual wrote:
> > > On 01/30/2018 01:29 PM, Michal Hocko wrote:
> > > > On Tue 30-01-18 08:37:14, Anshuman Khandual wrote:
> > > >> alloc_contig_range() initiates compaction and eventual migration for
> > > >> the purpose of either CMA or HugeTLB allocation. At present, reason
> > > >> code remains the same MR_CMA for either of those cases. Lets add a
> > > >> new reason code which will differentiate the purpose of migration
> > > >> as HugeTLB allocation instead.
> > > > Why do we need it?
> > >
> > > The same reason why we have MR_CMA (maybe some other ones as well) at
> > > present, for reporting purpose through traces at the least. It just
> > > seemed like same reason code is being used for two different purpose
> > > of migration.
> >
> > But do we have any real user asking for this kind of information?
>
> It seems a reasonable cleanup: reusing MR_CMA for hugetlb just because
> it happens to do the right thing is a bit hacky - the two things aren't
> particularly related and a reader could be excused for feeling
> confusion.
My bad! I thought this is a tracepoint thingy. But it seems to be only
used as a migration reason for page_owner. Now it makes more sense.
> But the change seems incomplete:
>
> > + if (migratetype == MIGRATE_CMA)
> > + migrate_reason = MR_CMA;
> > + else
> > + migrate_reason = MR_HUGETLB;
>
> If we're going to do this cleanup then shouldn't we go all the way and
> add MIGRATE_HUGETLB?
Yes. We can expect more users of alloc_contig_range in future. Maybe we
want to use MR_CONTIG_RANGE instead.
--
Michal Hocko
SUSE Labs
Powered by blists - more mailing lists