diff options
author | Ingo Molnar <mingo@elte.hu> | 2009-07-03 09:30:13 -0400 |
---|---|---|
committer | Thomas Gleixner <tglx@linutronix.de> | 2009-07-29 17:30:43 -0400 |
commit | dc1324696a158d94176826b2ae30646162563a41 (patch) | |
tree | c93635eaa6488f4d0757d8d728cad73f3cc8ba08 /fs/exec.c | |
parent | 8214e2fa9466234119ede2378403f065733d67f2 (diff) |
mm: realtime support
mmu tlb gather parts from Peter Zijlstra
Signed-off-by: Ingo Molnar <mingo@elte.hu>
Signed-off-by: Thomas Gleixner <tglx@linutronix.de>
Diffstat (limited to 'fs/exec.c')
-rw-r--r-- | fs/exec.c | 10 |
1 files changed, 5 insertions, 5 deletions
@@ -502,7 +502,7 @@ static int shift_arg_pages(struct vm_area_struct *vma, unsigned long shift) | |||
502 | unsigned long length = old_end - old_start; | 502 | unsigned long length = old_end - old_start; |
503 | unsigned long new_start = old_start - shift; | 503 | unsigned long new_start = old_start - shift; |
504 | unsigned long new_end = old_end - shift; | 504 | unsigned long new_end = old_end - shift; |
505 | struct mmu_gather *tlb; | 505 | struct mmu_gather tlb; |
506 | 506 | ||
507 | BUG_ON(new_start > new_end); | 507 | BUG_ON(new_start > new_end); |
508 | 508 | ||
@@ -527,12 +527,12 @@ static int shift_arg_pages(struct vm_area_struct *vma, unsigned long shift) | |||
527 | return -ENOMEM; | 527 | return -ENOMEM; |
528 | 528 | ||
529 | lru_add_drain(); | 529 | lru_add_drain(); |
530 | tlb = tlb_gather_mmu(mm, 0); | 530 | tlb_gather_mmu(&tlb, mm, 0); |
531 | if (new_end > old_start) { | 531 | if (new_end > old_start) { |
532 | /* | 532 | /* |
533 | * when the old and new regions overlap clear from new_end. | 533 | * when the old and new regions overlap clear from new_end. |
534 | */ | 534 | */ |
535 | free_pgd_range(tlb, new_end, old_end, new_end, | 535 | free_pgd_range(&tlb, new_end, old_end, new_end, |
536 | vma->vm_next ? vma->vm_next->vm_start : 0); | 536 | vma->vm_next ? vma->vm_next->vm_start : 0); |
537 | } else { | 537 | } else { |
538 | /* | 538 | /* |
@@ -541,10 +541,10 @@ static int shift_arg_pages(struct vm_area_struct *vma, unsigned long shift) | |||
541 | * have constraints on va-space that make this illegal (IA64) - | 541 | * have constraints on va-space that make this illegal (IA64) - |
542 | * for the others its just a little faster. | 542 | * for the others its just a little faster. |
543 | */ | 543 | */ |
544 | free_pgd_range(tlb, old_start, old_end, new_end, | 544 | free_pgd_range(&tlb, old_start, old_end, new_end, |
545 | vma->vm_next ? vma->vm_next->vm_start : 0); | 545 | vma->vm_next ? vma->vm_next->vm_start : 0); |
546 | } | 546 | } |
547 | tlb_finish_mmu(tlb, new_end, old_end); | 547 | tlb_finish_mmu(&tlb, new_end, old_end); |
548 | 548 | ||
549 | /* | 549 | /* |
550 | * shrink the vma to just the new range. | 550 | * shrink the vma to just the new range. |