diff options
Diffstat (limited to 'mm/ksm.c')
-rw-r--r-- | mm/ksm.c | 5 |
1 files changed, 1 insertions, 4 deletions
@@ -1416,8 +1416,7 @@ int __ksm_enter(struct mm_struct *mm) | |||
1416 | return 0; | 1416 | return 0; |
1417 | } | 1417 | } |
1418 | 1418 | ||
1419 | void __ksm_exit(struct mm_struct *mm, | 1419 | void __ksm_exit(struct mm_struct *mm) |
1420 | struct mmu_gather **tlbp, unsigned long end) | ||
1421 | { | 1420 | { |
1422 | struct mm_slot *mm_slot; | 1421 | struct mm_slot *mm_slot; |
1423 | int easy_to_free = 0; | 1422 | int easy_to_free = 0; |
@@ -1450,10 +1449,8 @@ void __ksm_exit(struct mm_struct *mm, | |||
1450 | clear_bit(MMF_VM_MERGEABLE, &mm->flags); | 1449 | clear_bit(MMF_VM_MERGEABLE, &mm->flags); |
1451 | mmdrop(mm); | 1450 | mmdrop(mm); |
1452 | } else if (mm_slot) { | 1451 | } else if (mm_slot) { |
1453 | tlb_finish_mmu(*tlbp, 0, end); | ||
1454 | down_write(&mm->mmap_sem); | 1452 | down_write(&mm->mmap_sem); |
1455 | up_write(&mm->mmap_sem); | 1453 | up_write(&mm->mmap_sem); |
1456 | *tlbp = tlb_gather_mmu(mm, 1); | ||
1457 | } | 1454 | } |
1458 | } | 1455 | } |
1459 | 1456 | ||