Groups | Search | Server Info | Keyboard shortcuts | Login | Register [http] [https] [nntp] [nntps]
Groups > linux.kernel > #1200261
| Path | csiph.com!optima2.xanadu-bbs.net!xanadu-bbs.net!feeder.erje.net!1.eu.feeder.erje.net!newsfeed.fsmpi.rwth-aachen.de!newsfeed.straub-nv.de!eternal-september.org!feeder.eternal-september.org!aioe.org!bofh.it!news.nic.it!robomod |
|---|---|
| From | Matthew Wilcox <matthew.r.wilcox@intel.com> |
| Newsgroups | linux.kernel |
| Subject | [PATCH 07/11] thp: Decrement refcount on huge zero page if it is split |
| Date | Tue, 04 Aug 2015 22:00:03 +0200 |
| Message-ID | <pTQxt-3Do-45@gated-at.bofh.it> (permalink) |
| References | <pTQxs-3Do-21@gated-at.bofh.it> |
| X-Original-To | Andrew Morton <akpm@linux-foundation.org>, linux-fsdevel@vger.kernel.org, linux-kernel@vger.kernel.org, linux-mm@kvack.org |
| X-Extloop1 | 1 |
| X-Ironport-Av | E=Sophos;i="5.15,611,1432623600"; d="scan'208";a="536010009" |
| X-Mailer | git-send-email 2.4.6 |
| Sender | robomod@news.nic.it |
| List-ID | <linux-kernel.vger.kernel.org> |
| X-Mailing-List | linux-kernel@vger.kernel.org |
| Approved | robomod@news.nic.it |
| Lines | 34 |
| Organization | linux.* mail to news gateway |
| X-Original-Cc | "Kirill A. Shutemov" <kirill.shutemov@linux.intel.com>, willy@linux.intel.com |
| X-Original-Date | Tue, 4 Aug 2015 15:58:01 -0400 |
| X-Original-Message-ID | <1438718285-21168-8-git-send-email-matthew.r.wilcox@intel.com> |
| X-Original-References | <1438718285-21168-1-git-send-email-matthew.r.wilcox@intel.com> |
| X-Original-Sender | linux-kernel-owner@vger.kernel.org |
| Xref | csiph.com linux.kernel:1200261 |
Show key headers only | View raw
From: "Kirill A. Shutemov" <kirill.shutemov@linux.intel.com>
The DAX code neglected to put the refcount on the huge zero page.
Also we must notify on splits.
Signed-off-by: Kirill A. Shutemov <kirill.shutemov@linux.intel.com>
Signed-off-by: Matthew Wilcox <willy@linux.intel.com>
---
mm/huge_memory.c | 4 +++-
1 file changed, 3 insertions(+), 1 deletion(-)
diff --git a/mm/huge_memory.c b/mm/huge_memory.c
index 5ffdcaa..326d17e 100644
--- a/mm/huge_memory.c
+++ b/mm/huge_memory.c
@@ -2951,7 +2951,9 @@ again:
if (unlikely(!pmd_trans_huge(*pmd)))
goto unlock;
if (vma_is_dax(vma)) {
- pmdp_huge_clear_flush(vma, haddr, pmd);
+ pmd_t _pmd = pmdp_huge_clear_flush_notify(vma, haddr, pmd);
+ if (is_huge_zero_pmd(_pmd))
+ put_huge_zero_page();
} else if (is_huge_zero_pmd(*pmd)) {
__split_huge_zero_page_pmd(vma, haddr, pmd);
} else {
--
2.1.4
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@vger.kernel.org
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/
Back to linux.kernel | Previous | Next — Previous in thread | Next in thread | Find similar | Unroll thread
[PATCH 00/11] DAX fixes for 4.3 Matthew Wilcox <matthew.r.wilcox@intel.com> - 2015-08-04 22:00 +0200
[PATCH 10/11] dax: Ensure that zero pages are removed from other processes Matthew Wilcox <matthew.r.wilcox@intel.com> - 2015-08-04 22:00 +0200
[PATCH 09/11] dax: Don't use set_huge_zero_page() Matthew Wilcox <matthew.r.wilcox@intel.com> - 2015-08-04 22:00 +0200
[PATCH 07/11] thp: Decrement refcount on huge zero page if it is split Matthew Wilcox <matthew.r.wilcox@intel.com> - 2015-08-04 22:00 +0200
[PATCH 08/11] thp: Fix zap_huge_pmd() for DAX Matthew Wilcox <matthew.r.wilcox@intel.com> - 2015-08-04 22:00 +0200
[PATCH 01/11] ext4: Use ext4_get_block_write() for DAX Matthew Wilcox <matthew.r.wilcox@intel.com> - 2015-08-04 22:10 +0200
[PATCH 06/11] dax: Fix race between simultaneous faults Matthew Wilcox <matthew.r.wilcox@intel.com> - 2015-08-04 22:10 +0200
Re: [PATCH 06/11] dax: Fix race between simultaneous faults "Kirill A. Shutemov" <kirill@shutemov.name> - 2015-08-05 13:50 +0200
[PATCH 11/11] dax: Use linear_page_index() Matthew Wilcox <matthew.r.wilcox@intel.com> - 2015-08-04 22:10 +0200
[PATCH 04/11] ext4: Add ext4_get_block_dax() Matthew Wilcox <matthew.r.wilcox@intel.com> - 2015-08-04 22:10 +0200
Re: [PATCH 04/11] ext4: Add ext4_get_block_dax() Dave Chinner <david@fromorbit.com> - 2015-08-05 04:10 +0200
Re: [PATCH 04/11] ext4: Add ext4_get_block_dax() Matthew Wilcox <willy@linux.intel.com> - 2015-08-05 17:20 +0200
[PATCH 05/11] ext4: Start transaction before calling into DAX Matthew Wilcox <matthew.r.wilcox@intel.com> - 2015-08-04 22:10 +0200
csiph-web