X-Git-Url: http://git.onelab.eu/?a=blobdiff_plain;f=mm%2Fswapfile.c;h=6eca35a9dcfc2abdfede7a7287831d9d36ee7e28;hb=1731da41698a0b4ce0b124c3771426720490471d;hp=89bc19ef3adbd109df1a7777907c741ef085f82d;hpb=a91482bdcc2e0f6035702e46f1b99043a0893346;p=linux-2.6.git diff --git a/mm/swapfile.c b/mm/swapfile.c index 89bc19ef3..6eca35a9d 100644 --- a/mm/swapfile.c +++ b/mm/swapfile.c @@ -30,7 +30,6 @@ #include #include #include -#include spinlock_t swaplock = SPIN_LOCK_UNLOCKED; unsigned int nr_swapfiles; @@ -112,7 +111,7 @@ static inline int scan_swap_map(struct swap_info_struct *si) check_next_cluster: if (offset+SWAPFILE_CLUSTER-1 <= si->highest_bit) { - unsigned long nr; + int nr; for (nr = offset; nr < offset+SWAPFILE_CLUSTER; nr++) if (si->swap_map[nr]) { @@ -551,15 +550,7 @@ static int unuse_process(struct mm_struct * mm, /* * Go through process' page directory. */ - if (!down_read_trylock(&mm->mmap_sem)) { - /* - * Our reference to the page stops try_to_unmap_one from - * unmapping its ptes, so swapoff can make progress. - */ - unlock_page(page); - down_read(&mm->mmap_sem); - lock_page(page); - } + down_read(&mm->mmap_sem); spin_lock(&mm->page_table_lock); for (vma = mm->mmap; vma; vma = vma->vm_next) { if (!is_vm_hugetlb_page(vma)) {