Messages in this thread | | | Date | Wed, 31 Jan 2018 12:12:17 -0800 | From | Andrew Morton <> | Subject | Re: [RFC] mm/migrate: Add new migration reason MR_HUGETLB |
| |
On Wed, 31 Jan 2018 08:58:52 +0100 Michal Hocko <mhocko@kernel.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.
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?
Alternatively... instead of adding MR_HUGETLB (and perhaps MIGRATE_HUGETLB), can we identify what characteristics these two things have in common and invent a new, more generic identifier? So that both migrate-for-CMA and migrate-for-HUGETLB will use MIGRATE_NEWNAME and MR_NEWNAME?
| |