Re: Possible Swapfile bug

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



On Thu, 22 Mar 2012 10:24:22 -0600
Jason Mattax <jmattax@xxxxxxxxxxxxxxx> wrote:

> Swapon very slow with swapfiles.
> 
> After upgrading the kernel my swap file loads very slowly, while a swap 
> partition is unaffected. With the newer kernel (2.6.33.1) I get
> 
> # time swapon -v /var/swapfile
> swapon on /var/swapfile
> swapon: /var/swapfile: found swap signature: version 1, page-size 4, 
> same byte order
> swapon: /var/swapfile: pagesize=4096, swapsize=6442450944, 
> devsize=6442450944
> 
> real    4m35.355s
> user    0m0.001s
> sys    0m1.786s
> 
> while with the older kernel (2.6.32.27) I get
> # time swapon -v /var/swapfile
> swapon on /var/swapfile
> swapon: /var/swapfile: found swap signature: version 1, page-size 4, 
> same byte order
> swapon: /var/swapfile: pagesize=4096, swapsize=6442450944, 
> devsize=6442450944
> 
> real    0m1.158s
> user    0m0.000s
> sys     0m0.876s
> 
> this stays true even for new swapfiles I create with dd.
> 
> the file is on an OCZ Vertex2 SSD.

Probably the vertex2 discard problem.  

We just merged a patch which will hopefully fix it:

--- a/mm/swapfile.c~swap-dont-do-discard-if-no-discard-option-added
+++ a/mm/swapfile.c
@@ -2103,7 +2103,7 @@ SYSCALL_DEFINE2(swapon, const char __use
 			p->flags |= SWP_SOLIDSTATE;
 			p->cluster_next = 1 + (random32() % p->highest_bit);
 		}
-		if (discard_swap(p) == 0 && (swap_flags & SWAP_FLAG_DISCARD))
+		if ((swap_flags & SWAP_FLAG_DISCARD) && discard_swap(p) == 0)
 			p->flags |= SWP_DISCARDABLE;
 	}
 

But Hugh doesn't like it and won't tell us why :)

--
To unsubscribe, send a message with 'unsubscribe linux-mm' in
the body to majordomo@xxxxxxxxx.  For more info on Linux MM,
see: http://www.linux-mm.org/ .
Fight unfair telecom internet charges in Canada: sign http://stopthemeter.ca/
Don't email: <a href=mailto:"dont@xxxxxxxxx";> email@xxxxxxxxx </a>


[Index of Archives]     [Linux ARM Kernel]     [Linux ARM]     [Linux Omap]     [Fedora ARM]     [IETF Annouce]     [Bugtraq]     [Linux]     [Linux OMAP]     [Linux MIPS]     [ECOS]     [Asterisk Internet PBX]     [Linux API]