From: "Aneesh Kumar K.V" <aneesh.kumar@linux.vnet.ibm.com>
To: akpm@linux-foundation.org
Cc: linux-mm@kvack.org, linux-kernel@vger.kernel.org,
"Aneesh Kumar K.V" <aneesh.kumar@linux.vnet.ibm.com>
Subject: [PATCH 0/5] mmu gather changes
Date: Wed, 26 Oct 2016 14:18:34 +0530 [thread overview]
Message-ID: <20161026084839.27299-1-aneesh.kumar@linux.vnet.ibm.com> (raw)
Hi,
With commit e77b0852b551 ("mm/mmu_gather: track page size with mmu gather and force flush if page size change")
we added the ability to force a tlb flush when the page size change in
a mmu_gather loop. We did that by checking for a page size change
every time we added a page to mmu_gather for lazy flush/remove. This breaks when
invalidating a range that contain dax mapping. Dax pte entries are
considered special pte entries and the mmu_gather loop doesn't call
tlb_remove_page for them. Hence the page size change check doesn't work when
the invalidate range covers dax mappings.
We can also improve the current code by moving the page size change check
early and not doing it every time we add a page.
This series is not a bug fix series, because only arch that use the page
size change detail is ppc64 and we don't have dax enabled on that arch yet.
The series also include code changes that improve code comments and add new helpers
to makes it easy to follow.
Aneesh Kumar K.V (5):
mm: Use the correct page size when removing the page
mm: Update mmu_gather range correctly
mm/hugetlb: add tlb_remove_hugetlb_entry for handling hugetlb pages
mm: Add tlb_remove_check_page_size_change to track page size change
mm: Remove the page size change check in tlb_remove_page
arch/arm/include/asm/tlb.h | 21 ++++++-----
arch/ia64/include/asm/tlb.h | 25 +++++++------
arch/powerpc/include/asm/tlb.h | 16 ++++++++
arch/s390/include/asm/tlb.h | 14 ++++---
arch/sh/include/asm/tlb.h | 15 +++++---
arch/um/include/asm/tlb.h | 15 +++++---
include/asm-generic/tlb.h | 83 +++++++++++++++++++++++++-----------------
mm/huge_memory.c | 8 +++-
mm/hugetlb.c | 7 +++-
mm/madvise.c | 1 +
mm/memory.c | 28 ++++++--------
11 files changed, 141 insertions(+), 92 deletions(-)
--
2.10.1
--
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>
next reply other threads:[~2016-10-26 8:49 UTC|newest]
Thread overview: 6+ messages / expand[flat|nested] mbox.gz Atom feed top
2016-10-26 8:48 Aneesh Kumar K.V [this message]
2016-10-26 8:48 ` [PATCH 1/5] mm: Use the correct page size when removing the page Aneesh Kumar K.V
2016-10-26 8:48 ` [PATCH 2/5] mm: Update mmu_gather range correctly Aneesh Kumar K.V
2016-10-26 8:48 ` [PATCH 3/5] mm/hugetlb: add tlb_remove_hugetlb_entry for handling hugetlb pages Aneesh Kumar K.V
2016-10-26 8:48 ` [PATCH 4/5] mm: Add tlb_remove_check_page_size_change to track page size change Aneesh Kumar K.V
2016-10-26 8:48 ` [PATCH 5/5] mm: Remove the page size change check in tlb_remove_page Aneesh Kumar K.V
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=20161026084839.27299-1-aneesh.kumar@linux.vnet.ibm.com \
--to=aneesh.kumar@linux.vnet.ibm.com \
--cc=akpm@linux-foundation.org \
--cc=linux-kernel@vger.kernel.org \
--cc=linux-mm@kvack.org \
/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 a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).