Re: [PATCH 1/2] mm, thp: introduce dedicated transparent huge page allocation interfaces

From: Michal Hocko
Date: Thu Oct 19 2017 - 08:49:38 EST


On Wed 18-10-17 19:00:26, Du, Changbin wrote:
> Hi Hocko,
>
> On Tue, Oct 17, 2017 at 12:20:52PM +0200, Michal Hocko wrote:
> > [CC Kirill]
> >
> > On Mon 16-10-17 17:19:16, changbin.du@xxxxxxxxx wrote:
> > > From: Changbin Du <changbin.du@xxxxxxxxx>
> > >
> > > This patch introduced 4 new interfaces to allocate a prepared
> > > transparent huge page.
> > > - alloc_transhuge_page_vma
> > > - alloc_transhuge_page_nodemask
> > > - alloc_transhuge_page_node
> > > - alloc_transhuge_page
> > >
> > > The aim is to remove duplicated code and simplify transparent
> > > huge page allocation. These are similar to alloc_hugepage_xxx
> > > which are for hugetlbfs pages. This patch does below changes:
> > > - define alloc_transhuge_page_xxx interfaces
> > > - apply them to all existing code
> > > - declare prep_transhuge_page as static since no others use it
> > > - remove alloc_hugepage_vma definition since it no longer has users
> >
> > So what exactly is the advantage of the new API? The diffstat doesn't
> > sound very convincing to me.
> >
> The caller only need one step to allocate thp. Several LOCs removed for all the
> caller side with this change. So it's little more convinent.

Yeah, but the overall result is more code. So I am not really convinced.
--
Michal Hocko
SUSE Labs