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:
215ddd6
)
mm: __tlb_remove_page() check the correct batch
author
Shaohua Li
<
[email protected]
>
Fri, 8 Jul 2011 22:39:41 +0000
(15:39 -0700)
committer
Linus Torvalds
<
[email protected]
>
Sat, 9 Jul 2011 04:14:43 +0000
(21:14 -0700)
__tlb_remove_page() switches to a new batch page, but still checks space
in the old batch. This check always fails, and causes a forced tlb flush.
Signed-off-by: Shaohua Li <
[email protected]
>
Acked-by: Peter Zijlstra <
[email protected]
>
Signed-off-by: Andrew Morton <
[email protected]
>
Signed-off-by: Linus Torvalds <
[email protected]
>
mm/memory.c
patch
|
blob
|
history
diff --git
a/mm/memory.c
b/mm/memory.c
index 40b7531ee8badb288823b64715265d0f16be397d..9b8a01d941cbc77dc0b1674fd817b54bb4f281f4 100644
(file)
--- a/
mm/memory.c
+++ b/
mm/memory.c
@@
-305,6
+305,7
@@
int __tlb_remove_page(struct mmu_gather *tlb, struct page *page)
if (batch->nr == batch->max) {
if (!tlb_next_batch(tlb))
return 0;
+ batch = tlb->active;
}
VM_BUG_ON(batch->nr > batch->max);