aboutsummaryrefslogtreecommitdiffstats
path: root/fs/exec.c
diff options
context:
space:
mode:
authorIngo Molnar <mingo@elte.hu>2009-07-03 09:30:13 -0400
committerThomas Gleixner <tglx@linutronix.de>2009-07-29 17:30:43 -0400
commitdc1324696a158d94176826b2ae30646162563a41 (patch)
treec93635eaa6488f4d0757d8d728cad73f3cc8ba08 /fs/exec.c
parent8214e2fa9466234119ede2378403f065733d67f2 (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.c10
1 files changed, 5 insertions, 5 deletions
diff --git a/fs/exec.c b/fs/exec.c
index 8d5f4bd0d6e8..ddaebef9879d 100644
--- a/fs/exec.c
+++ b/fs/exec.c
@@ -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.