projects
/
openwrt
/
staging
/
blogic.git
/ commitdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
| commitdiff |
tree
raw
|
patch
| inline |
side by side
(parent:
a9a238e
)
mm/gup: fix gup_pmd_range() for dax
author
Yu Zhao
<
[email protected]
>
Tue, 12 Feb 2019 23:35:58 +0000
(15:35 -0800)
committer
Linus Torvalds
<
[email protected]
>
Wed, 13 Feb 2019 00:33:18 +0000
(16:33 -0800)
For dax pmd, pmd_trans_huge() returns false but pmd_huge() returns true
on x86. So the function works as long as hugetlb is configured.
However, dax doesn't depend on hugetlb.
Link:
http://lkml.kernel.org/r/
[email protected]
Signed-off-by: Yu Zhao <
[email protected]
>
Reviewed-by: Jan Kara <
[email protected]
>
Cc: Dan Williams <
[email protected]
>
Cc: Huang Ying <
[email protected]
>
Cc: Matthew Wilcox <
[email protected]
>
Cc: Keith Busch <
[email protected]
>
Cc: "Michael S . Tsirkin" <
[email protected]
>
Cc: John Hubbard <
[email protected]
>
Cc: Wei Yang <
[email protected]
>
Cc: Mike Rapoport <
[email protected]
>
Cc: Andrea Arcangeli <
[email protected]
>
Cc: "Kirill A . Shutemov" <
[email protected]
>
Signed-off-by: Andrew Morton <
[email protected]
>
Signed-off-by: Linus Torvalds <
[email protected]
>
mm/gup.c
patch
|
blob
|
history
diff --git
a/mm/gup.c
b/mm/gup.c
index 05acd7e2eb22e0849c5125d0cabc671fdc58f71f..75029649baca4ac834732b931cb9f743cdc58afb 100644
(file)
--- a/
mm/gup.c
+++ b/
mm/gup.c
@@
-1674,7
+1674,8
@@
static int gup_pmd_range(pud_t pud, unsigned long addr, unsigned long end,
if (!pmd_present(pmd))
return 0;
- if (unlikely(pmd_trans_huge(pmd) || pmd_huge(pmd))) {
+ if (unlikely(pmd_trans_huge(pmd) || pmd_huge(pmd) ||
+ pmd_devmap(pmd))) {
/*
* NUMA hinting faults need to be handled in the GUP
* slowpath for accounting purposes and so that they