Re: [PATCH v4] hugetlbfs: support split page table lock

From: Naoya Horiguchi
Date: Mon Sep 16 2013 - 17:38:22 EST


On Mon, Sep 16, 2013 at 08:06:30PM +0530, Aneesh Kumar K.V wrote:
> Naoya Horiguchi <n-horiguchi@xxxxxxxxxxxxx> writes:
>
> > Hi,
> >
> > Kirill posted split_ptl patchset for thp today, so in this version
> > I post only hugetlbfs part. I added Kconfig variables in following
> > Kirill's patches (although without CONFIG_SPLIT_*_PTLOCK_CPUS.)
> >
> > This patch changes many lines, but all are in hugetlbfs specific code,
> > so I think we can apply this independent of thp patches.
> > -----
> > From: Naoya Horiguchi <n-horiguchi@xxxxxxxxxxxxx>
> > Date: Fri, 13 Sep 2013 18:12:30 -0400
> > Subject: [PATCH v4] hugetlbfs: support split page table lock
> >
> > Currently all of page table handling by hugetlbfs code are done under
> > mm->page_table_lock. So when a process have many threads and they heavily
> > access to the memory, lock contention happens and impacts the performance.
> >
> > This patch makes hugepage support split page table lock so that we use
> > page->ptl of the leaf node of page table tree which is pte for normal pages
> > but can be pmd and/or pud for hugepages of some architectures.
> >
> > ChangeLog v4:
> > - introduce arch dependent macro ARCH_ENABLE_SPLIT_HUGETLB_PTLOCK
> > (only defined for x86 for now)
> > - rename USE_SPLIT_PTLOCKS_HUGETLB to USE_SPLIT_HUGETLB_PTLOCKS
>
> Can we have separate locking for THP and hugetlb ?

I think yes, because thp code and hugetlbfs code are clearly separated
and we can execute only one of them on the same vma.

> Doesn't both require us to
> use same locking when updating pmd ?

I think no for the same reason.

Thanks,
Naoya Horiguchi
--
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/