All of lore.kernel.org
 help / color / mirror / Atom feed
From: Rik van Riel <riel@redhat.com>
To: Mel Gorman <mgorman@suse.de>
Cc: Alex Thorlton <athorlton@sgi.com>, Linux-MM <linux-mm@kvack.org>,
	LKML <linux-kernel@vger.kernel.org>,
	hhuang@redhat.com
Subject: Re: [PATCH 14/15] mm: numa: Flush TLB if NUMA hinting faults race with PTE scan update
Date: Thu, 05 Dec 2013 15:05:19 -0500	[thread overview]
Message-ID: <52A0DC7F.7050403@redhat.com> (raw)
In-Reply-To: <20131205195446.GI11295@suse.de>

On 12/05/2013 02:54 PM, Mel Gorman wrote:

> I think that's a better fit and a neater fix. Thanks! I think it barriers
> more than it needs to (definite cost vs maybe cost), the flush can be
> deferred until we are definitely trying to migrate and the pte case is
> not guaranteed to be flushed before migration due to pte_mknonnuma causing
> a flush in ptep_clear_flush to be avoided later. Mashing the two patches
> together yields this.

I think this would fix the numa migrate case.

However, I believe the same issue is also present in
mprotect(..., PROT_NONE) vs. compaction, for programs
that trap SIGSEGV for garbage collection purposes.

They could lose modifications done in-between when
the pte was set to PROT_NONE, and the actual TLB
flush, if compaction moves the page around in-between
those two events.

I don't know if this is a case we need to worry about
at all, but I think the same fix would apply to that
code path, so I guess we might as well make it...

--
To unsubscribe, send a message with 'unsubscribe linux-mm' in
the body to majordomo@kvack.org.  For more info on Linux MM,
see: http://www.linux-mm.org/ .
Don't email: <a href=mailto:"dont@kvack.org"> email@kvack.org </a>

WARNING: multiple messages have this Message-ID (diff)
From: Rik van Riel <riel@redhat.com>
To: Mel Gorman <mgorman@suse.de>
Cc: Alex Thorlton <athorlton@sgi.com>, Linux-MM <linux-mm@kvack.org>,
	LKML <linux-kernel@vger.kernel.org>,
	hhuang@redhat.com
Subject: Re: [PATCH 14/15] mm: numa: Flush TLB if NUMA hinting faults race with PTE scan update
Date: Thu, 05 Dec 2013 15:05:19 -0500	[thread overview]
Message-ID: <52A0DC7F.7050403@redhat.com> (raw)
In-Reply-To: <20131205195446.GI11295@suse.de>

On 12/05/2013 02:54 PM, Mel Gorman wrote:

> I think that's a better fit and a neater fix. Thanks! I think it barriers
> more than it needs to (definite cost vs maybe cost), the flush can be
> deferred until we are definitely trying to migrate and the pte case is
> not guaranteed to be flushed before migration due to pte_mknonnuma causing
> a flush in ptep_clear_flush to be avoided later. Mashing the two patches
> together yields this.

I think this would fix the numa migrate case.

However, I believe the same issue is also present in
mprotect(..., PROT_NONE) vs. compaction, for programs
that trap SIGSEGV for garbage collection purposes.

They could lose modifications done in-between when
the pte was set to PROT_NONE, and the actual TLB
flush, if compaction moves the page around in-between
those two events.

I don't know if this is a case we need to worry about
at all, but I think the same fix would apply to that
code path, so I guess we might as well make it...

  reply	other threads:[~2013-12-05 20:05 UTC|newest]

Thread overview: 76+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2013-12-03  8:51 [PATCH 00/14] NUMA balancing segmentation faults candidate fix on large machines Mel Gorman
2013-12-03  8:51 ` Mel Gorman
2013-12-03  8:51 ` [PATCH 01/15] mm: numa: Do not batch handle PMD pages Mel Gorman
2013-12-03  8:51   ` Mel Gorman
2013-12-03  8:51 ` [PATCH 02/15] mm: hugetlbfs: fix hugetlbfs optimization Mel Gorman
2013-12-03  8:51   ` Mel Gorman
2013-12-03  8:51 ` [PATCH 03/15] mm: thp: give transparent hugepage code a separate copy_page Mel Gorman
2013-12-03  8:51   ` Mel Gorman
2013-12-04 16:59   ` Alex Thorlton
2013-12-04 16:59     ` Alex Thorlton
2013-12-05 13:35     ` Mel Gorman
2013-12-05 13:35       ` Mel Gorman
2013-12-03  8:51 ` [PATCH 04/15] mm: numa: Serialise parallel get_user_page against THP migration Mel Gorman
2013-12-03  8:51   ` Mel Gorman
2013-12-03 23:07   ` Rik van Riel
2013-12-03 23:07     ` Rik van Riel
2013-12-03 23:54     ` Mel Gorman
2013-12-03 23:54       ` Mel Gorman
2013-12-03  8:51 ` [PATCH 05/15] mm: numa: Call MMU notifiers on " Mel Gorman
2013-12-03  8:51   ` Mel Gorman
2013-12-03  8:51 ` [PATCH 06/15] mm: Clear pmd_numa before invalidating Mel Gorman
2013-12-03  8:51   ` Mel Gorman
2013-12-03  8:51 ` [PATCH 07/15] mm: numa: Do not clear PMD during PTE update scan Mel Gorman
2013-12-03  8:51   ` Mel Gorman
2013-12-03  8:51 ` [PATCH 08/15] mm: numa: Do not clear PTE for pte_numa update Mel Gorman
2013-12-03  8:51   ` Mel Gorman
2013-12-03  8:51 ` [PATCH 09/15] mm: numa: Ensure anon_vma is locked to prevent parallel THP splits Mel Gorman
2013-12-03  8:51   ` Mel Gorman
2013-12-03  8:51 ` [PATCH 10/15] mm: numa: Avoid unnecessary work on the failure path Mel Gorman
2013-12-03  8:51   ` Mel Gorman
2013-12-03  8:51 ` [PATCH 11/15] sched: numa: Skip inaccessible VMAs Mel Gorman
2013-12-03  8:51   ` Mel Gorman
2013-12-03  8:51 ` [PATCH 12/15] Clear numa on mprotect Mel Gorman
2013-12-03  8:51   ` Mel Gorman
2013-12-03  8:52 ` [PATCH 13/15] mm: numa: Avoid unnecessary disruption of NUMA hinting during migration Mel Gorman
2013-12-03  8:52   ` Mel Gorman
2013-12-03  8:52 ` [PATCH 14/15] mm: numa: Flush TLB if NUMA hinting faults race with PTE scan update Mel Gorman
2013-12-03  8:52   ` Mel Gorman
2013-12-03 23:07   ` Rik van Riel
2013-12-03 23:07     ` Rik van Riel
2013-12-03 23:46     ` Mel Gorman
2013-12-03 23:46       ` Mel Gorman
2013-12-04 14:33       ` Rik van Riel
2013-12-04 14:33         ` Rik van Riel
2013-12-04 16:07         ` Mel Gorman
2013-12-04 16:07           ` Mel Gorman
2013-12-05 15:40           ` Rik van Riel
2013-12-05 15:40             ` Rik van Riel
2013-12-05 19:54             ` Mel Gorman
2013-12-05 19:54               ` Mel Gorman
2013-12-05 20:05               ` Rik van Riel [this message]
2013-12-05 20:05                 ` Rik van Riel
2013-12-06  9:24                 ` Mel Gorman
2013-12-06  9:24                   ` Mel Gorman
2013-12-06 17:38                   ` Alex Thorlton
2013-12-06 17:38                     ` Alex Thorlton
2013-12-06 18:32                     ` Mel Gorman
2013-12-06 18:32                       ` Mel Gorman
2013-12-06 19:13           ` [PATCH 14/15] mm: fix TLB flush race between migration, and change_protection_range Rik van Riel
2013-12-06 19:13             ` Rik van Riel
2013-12-06 20:32             ` Christoph Lameter
2013-12-06 20:32               ` Christoph Lameter
2013-12-06 21:21               ` Rik van Riel
2013-12-06 21:21                 ` Rik van Riel
2013-12-07  0:25                 ` Christoph Lameter
2013-12-07  0:25                   ` Christoph Lameter
2013-12-07  3:14                   ` Rik van Riel
2013-12-07  3:14                     ` Rik van Riel
2013-12-09 16:00                     ` Christoph Lameter
2013-12-09 16:00                       ` Christoph Lameter
2013-12-09 16:27                       ` Mel Gorman
2013-12-09 16:27                         ` Mel Gorman
2013-12-09 16:59                         ` Christoph Lameter
2013-12-09 16:59                           ` Christoph Lameter
2013-12-09 21:01                           ` Rik van Riel
2013-12-09 21:01                             ` Rik van Riel

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=52A0DC7F.7050403@redhat.com \
    --to=riel@redhat.com \
    --cc=athorlton@sgi.com \
    --cc=hhuang@redhat.com \
    --cc=linux-kernel@vger.kernel.org \
    --cc=linux-mm@kvack.org \
    --cc=mgorman@suse.de \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.