projects
/
linux-2.6-microblaze.git
/ commitdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
| commitdiff |
tree
raw
|
patch
| inline |
side by side
(parent:
af4fcb0
)
mm: use flush_icache_pages() in do_set_pmd()
author
Matthew Wilcox (Oracle)
<willy@infradead.org>
Wed, 2 Aug 2023 15:14:01 +0000
(16:14 +0100)
committer
Andrew Morton
<akpm@linux-foundation.org>
Thu, 24 Aug 2023 23:20:25 +0000
(16:20 -0700)
Push the iteration over each page down to the architectures (many can
flush the entire THP without iteration).
Link:
https://lkml.kernel.org/r/20230802151406.3735276-34-willy@infradead.org
Signed-off-by: Matthew Wilcox (Oracle) <willy@infradead.org>
Reviewed-by: Anshuman Khandual <anshuman.khandual@arm.com>
Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
mm/memory.c
patch
|
blob
|
history
diff --git
a/mm/memory.c
b/mm/memory.c
index
2c6f45d
..
fbb7f06
100644
(file)
--- a/
mm/memory.c
+++ b/
mm/memory.c
@@
-4265,7
+4265,6
@@
vm_fault_t do_set_pmd(struct vm_fault *vmf, struct page *page)
bool write = vmf->flags & FAULT_FLAG_WRITE;
unsigned long haddr = vmf->address & HPAGE_PMD_MASK;
pmd_t entry;
- int i;
vm_fault_t ret = VM_FAULT_FALLBACK;
if (!transhuge_vma_suitable(vma, haddr))
@@
-4298,8
+4297,7
@@
vm_fault_t do_set_pmd(struct vm_fault *vmf, struct page *page)
if (unlikely(!pmd_none(*vmf->pmd)))
goto out;
- for (i = 0; i < HPAGE_PMD_NR; i++)
- flush_icache_page(vma, page + i);
+ flush_icache_pages(vma, page, HPAGE_PMD_NR);
entry = mk_huge_pmd(page, vma->vm_page_prot);
if (write)