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

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

 



(4/3/12 4:25 AM), Jerome Marchand wrote:
On 04/02/2012 07:10 PM, KOSAKI Motohiro wrote:
2012/3/30 Satoru Moriya<satoru.moriya@xxxxxxx>:
Hello Kosaki-san,

On 03/07/2012 01:18 PM, Satoru Moriya wrote:
On 03/07/2012 12:19 PM, KOSAKI Motohiro wrote:
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.

Actually, this is true only for global reclaims. Reclaims in cgroup can fail
in this case.


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

How?

get_scan_count() checks that case explicitly:

	if (global_reclaim(sc)) {
		free  = zone_page_state(mz->zone, NR_FREE_PAGES);
		/* If we have very few page cache pages,
		   force-scan anon pages. */
		if (unlikely(file + free<= high_wmark_pages(mz->zone))) {
			fraction[0] = 1;
			fraction[1] = 0;
			denominator = 1;
			goto out;
		}
	}

Eek. This is silly. Nowaday many people enabled THP and it increase zone watermark.
so, high watermask is not good threshold anymore.





--
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]