Thread (32 messages) 32 messages, 11 authors, 2012-05-21

RE: [RFC][PATCH] avoid swapping out with swappiness==0

From: Satoru Moriya <hidden>
Date: 2012-03-30 22:44:59
Also in: lkml

Hello Kosaki-san,

On 03/07/2012 01:18 PM, Satoru Moriya wrote:
On 03/07/2012 12:19 PM, KOSAKI Motohiro wrote:
quoted
Thank you. I brought back to memory it. Unfortunately DB folks are 
still mainly using RHEL5 generation distros. At that time, 
swapiness=0 doesn't mean disabling swap.

They want, "don't swap as far as kernel has any file cache page". but 
linux don't have such feature. then they used swappiness for emulate 
it. So, I think this patch clearly make userland harm. Because of, we 
don't have an alternative way.
As I wrote in the previous mail(see below), with this patch
the kernel begins to swap out when the sum of free pages and
filebacked pages reduces less than watermark_high.

So the kernel reclaims pages like following.

nr_free + nr_filebacked >= watermark_high: reclaim only filebacked pages
nr_free + nr_filebacked <  watermark_high: reclaim only anonymous pages

Do you think this behavior satisfies DB users' requirement?

If they expect the behavior that "don't swap as far as kernel has any 
file cache page", this patch definitely helps them because if we set 
swappiness==0, kernel does not swap out
*until* nr_free + nr_filebacked < high watermark in the zone.
It means kernel begins to swap out when nr_free + nr_filebacked 
becomes less than high watermark.

But, yes, this patch actually changes the behavior with swappiness==0 
and so it may make userland harm.

How about introducing new value e.g -1 to avoid swap and maintain 
compatibility?
Regards,
Satoru

--
To unsubscribe, send a message with 'unsubscribe linux-mm' in
the body to majordomo@kvack.org.  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@kvack.org"> email@kvack.org </a>
Keyboard shortcuts
hback out one level
jnext message in thread
kprevious message in thread
ldrill in
Escclose help / fold thread tree
?toggle this help