Groups | Search | Server Info | Keyboard shortcuts | Login | Register [http] [https] [nntp] [nntps]


Groups > linux.kernel > #1411725

Re: [PATCH v1] mm: thp: check pmd_trans_unstable() after split_huge_pmd()

From Naoya Horiguchi <n-horiguchi@ah.jp.nec.com>
Newsgroups linux.kernel
Subject Re: [PATCH v1] mm: thp: check pmd_trans_unstable() after split_huge_pmd()
Date 2016-06-02 02:40 +0200
Message-ID <rFoQ2-7j4-13@gated-at.bofh.it> (permalink)
References <rF2mu-1c3-9@gated-at.bofh.it> <rFaWK-6IP-21@gated-at.bofh.it>
Organization linux.* mail to news gateway

Show all headers | View raw


On Wed, Jun 01, 2016 at 12:39:57PM +0300, Kirill A. Shutemov wrote:
> On Wed, Jun 01, 2016 at 09:36:40AM +0900, Naoya Horiguchi wrote:
> > split_huge_pmd() doesn't guarantee that the pmd is normal pmd pointing to
> > pte entries, which can be checked with pmd_trans_unstable().
> 
> Could you be more specific on when we don't have normal ptes after
> split_huge_pmd? Race with other thread? DAX?

Actually I don't have any such specific case in mind.
__split_huge_pmd could skip real split code. In most case the skip happens
when the pmd is already split and pointing to normal ptes, and I'm not sure
when the pmd could be none or bad ...

So my above description seems misstatement, I should say "some caller does
assertion and some does differently and some not, so let's do it in unified
manner".

- Naoya

>
> I guess we can modify split_huge_pmd() to return if the pmd was split or
> not.

Back to linux.kernel | Previous | Next — Previous in thread | Find similar | Unroll thread


Thread

[PATCH v1] mm: thp: check pmd_trans_unstable() after split_huge_pmd() Naoya Horiguchi <n-horiguchi@ah.jp.nec.com> - 2016-06-01 02:40 +0200
  Re: [PATCH v1] mm: thp: check pmd_trans_unstable() after  split_huge_pmd() "Kirill A. Shutemov" <kirill@shutemov.name> - 2016-06-01 11:50 +0200
    Re: [PATCH v1] mm: thp: check pmd_trans_unstable() after  split_huge_pmd() Naoya Horiguchi <n-horiguchi@ah.jp.nec.com> - 2016-06-02 02:40 +0200

csiph-web