diff options
author | Linus Torvalds <torvalds@linux-foundation.org> | 2012-05-06 16:43:15 -0400 |
---|---|---|
committer | Linus Torvalds <torvalds@linux-foundation.org> | 2012-05-06 16:52:07 -0400 |
commit | 7e027b14d53e9729f823ba8652095d1e309aa8e9 (patch) | |
tree | a706e9f6ac67d92e4df18662cdb0205844a17871 /mm/memory.c | |
parent | 18b15fcde715a5512671af9d72a76e7f6d7cb6f0 (diff) |
vm: simplify unmap_vmas() calling convention
None of the callers want to pass in 'zap_details', and it doesn't even
make sense for the case of actually unmapping vma's. So remove the
argument, and clean up the interface.
Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
Diffstat (limited to 'mm/memory.c')
-rw-r--r-- | mm/memory.c | 18 |
1 files changed, 9 insertions, 9 deletions
diff --git a/mm/memory.c b/mm/memory.c index 6105f475fa86..f7b6c9859796 100644 --- a/mm/memory.c +++ b/mm/memory.c | |||
@@ -1340,7 +1340,6 @@ static void unmap_single_vma(struct mmu_gather *tlb, | |||
1340 | * @start_addr: virtual address at which to start unmapping | 1340 | * @start_addr: virtual address at which to start unmapping |
1341 | * @end_addr: virtual address at which to end unmapping | 1341 | * @end_addr: virtual address at which to end unmapping |
1342 | * @nr_accounted: Place number of unmapped pages in vm-accountable vma's here | 1342 | * @nr_accounted: Place number of unmapped pages in vm-accountable vma's here |
1343 | * @details: details of nonlinear truncation or shared cache invalidation | ||
1344 | * | 1343 | * |
1345 | * Unmap all pages in the vma list. | 1344 | * Unmap all pages in the vma list. |
1346 | * | 1345 | * |
@@ -1355,15 +1354,13 @@ static void unmap_single_vma(struct mmu_gather *tlb, | |||
1355 | */ | 1354 | */ |
1356 | void unmap_vmas(struct mmu_gather *tlb, | 1355 | void unmap_vmas(struct mmu_gather *tlb, |
1357 | struct vm_area_struct *vma, unsigned long start_addr, | 1356 | struct vm_area_struct *vma, unsigned long start_addr, |
1358 | unsigned long end_addr, unsigned long *nr_accounted, | 1357 | unsigned long end_addr, unsigned long *nr_accounted) |
1359 | struct zap_details *details) | ||
1360 | { | 1358 | { |
1361 | struct mm_struct *mm = vma->vm_mm; | 1359 | struct mm_struct *mm = vma->vm_mm; |
1362 | 1360 | ||
1363 | mmu_notifier_invalidate_range_start(mm, start_addr, end_addr); | 1361 | mmu_notifier_invalidate_range_start(mm, start_addr, end_addr); |
1364 | for ( ; vma && vma->vm_start < end_addr; vma = vma->vm_next) | 1362 | for ( ; vma && vma->vm_start < end_addr; vma = vma->vm_next) |
1365 | unmap_single_vma(tlb, vma, start_addr, end_addr, nr_accounted, | 1363 | unmap_single_vma(tlb, vma, start_addr, end_addr, nr_accounted, NULL); |
1366 | details); | ||
1367 | mmu_notifier_invalidate_range_end(mm, start_addr, end_addr); | 1364 | mmu_notifier_invalidate_range_end(mm, start_addr, end_addr); |
1368 | } | 1365 | } |
1369 | 1366 | ||
@@ -1376,19 +1373,22 @@ void unmap_vmas(struct mmu_gather *tlb, | |||
1376 | * | 1373 | * |
1377 | * Caller must protect the VMA list | 1374 | * Caller must protect the VMA list |
1378 | */ | 1375 | */ |
1379 | void zap_page_range(struct vm_area_struct *vma, unsigned long address, | 1376 | void zap_page_range(struct vm_area_struct *vma, unsigned long start, |
1380 | unsigned long size, struct zap_details *details) | 1377 | unsigned long size, struct zap_details *details) |
1381 | { | 1378 | { |
1382 | struct mm_struct *mm = vma->vm_mm; | 1379 | struct mm_struct *mm = vma->vm_mm; |
1383 | struct mmu_gather tlb; | 1380 | struct mmu_gather tlb; |
1384 | unsigned long end = address + size; | 1381 | unsigned long end = start + size; |
1385 | unsigned long nr_accounted = 0; | 1382 | unsigned long nr_accounted = 0; |
1386 | 1383 | ||
1387 | lru_add_drain(); | 1384 | lru_add_drain(); |
1388 | tlb_gather_mmu(&tlb, mm, 0); | 1385 | tlb_gather_mmu(&tlb, mm, 0); |
1389 | update_hiwater_rss(mm); | 1386 | update_hiwater_rss(mm); |
1390 | unmap_vmas(&tlb, vma, address, end, &nr_accounted, details); | 1387 | mmu_notifier_invalidate_range_start(mm, start, end); |
1391 | tlb_finish_mmu(&tlb, address, end); | 1388 | for ( ; vma && vma->vm_start < end; vma = vma->vm_next) |
1389 | unmap_single_vma(&tlb, vma, start, end, &nr_accounted, details); | ||
1390 | mmu_notifier_invalidate_range_end(mm, start, end); | ||
1391 | tlb_finish_mmu(&tlb, start, end); | ||
1392 | } | 1392 | } |
1393 | 1393 | ||
1394 | /** | 1394 | /** |