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:
16dd07b
)
uml: only flush areas covered by VMA
author
Jeff Dike
<
[email protected]
>
Sun, 6 May 2007 21:51:49 +0000
(14:51 -0700)
committer
Linus Torvalds
<
[email protected]
>
Mon, 7 May 2007 19:13:04 +0000
(12:13 -0700)
When doing a full address space flush, only look at areas covered by a VMA.
Signed-off-by: Jeff Dike <
[email protected]
>
Cc: Paolo 'Blaisorblade' Giarrusso <
[email protected]
>
Signed-off-by: Andrew Morton <
[email protected]
>
Signed-off-by: Linus Torvalds <
[email protected]
>
arch/um/kernel/skas/tlb.c
patch
|
blob
|
history
diff --git
a/arch/um/kernel/skas/tlb.c
b/arch/um/kernel/skas/tlb.c
index b3d722ddde31506480c95cedb776ca8dffc7821f..c0f0693743babd98095f834a73407876afcbe354 100644
(file)
--- a/
arch/um/kernel/skas/tlb.c
+++ b/
arch/um/kernel/skas/tlb.c
@@
-89,8
+89,13
@@
void flush_tlb_mm_skas(struct mm_struct *mm)
void force_flush_all_skas(void)
{
- unsigned long end = proc_mm ? task_size : CONFIG_STUB_START;
- fix_range(current->mm, 0, end, 1);
+ struct mm_struct *mm = current->mm;
+ struct vm_area_struct *vma = mm->mmap;
+
+ while(vma != NULL) {
+ fix_range(mm, vma->vm_start, vma->vm_end, 1);
+ vma = vma->vm_next;
+ }
}
void flush_tlb_page_skas(struct vm_area_struct *vma, unsigned long address)