Messages in this thread | | | Date | Wed, 04 Apr 2012 10:38:19 -0700 | From | KOSAKI Motohiro <> | Subject | Re: [RFC][PATCH] avoid swapping out with swappiness==0 |
| |
(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@hds.com>: >>> 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.
| |