All of lore.kernel.org
 help / color / mirror / Atom feed
From: Satoru Moriya <satoru.moriya@hds.com>
To: Jerome Marchand <jmarchan@redhat.com>,
	KOSAKI Motohiro <kosaki.motohiro@jp.fujitsu.com>
Cc: "jweiner@redhat.com" <jweiner@redhat.com>,
	"linux-mm@kvack.org" <linux-mm@kvack.org>,
	"linux-kernel@vger.kernel.org" <linux-kernel@vger.kernel.org>,
	"riel@redhat.com" <riel@redhat.com>,
	"lwoodman@redhat.com" <lwoodman@redhat.com>,
	"dle-develop@lists.sourceforge.net" 
	<dle-develop@lists.sourceforge.net>,
	Seiji Aguchi <seiji.aguchi@hds.com>
Subject: RE: [RFC][PATCH] avoid swapping out with swappiness==0
Date: Tue, 3 Apr 2012 11:15:30 -0400	[thread overview]
Message-ID: <65795E11DBF1E645A09CEC7EAEE94B9C014536F9A3@USINDEVS02.corp.hds.com> (raw)
In-Reply-To: <4F7ADE1A.2050004@redhat.com>

On 04/03/2012 07: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.

Right.
As long as we consider RHEL5 users above, I believe they don't care
about cgroup 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

I made a tiny mistake.
Correct one is following ;p

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;
>                }
>        }

Regards,
Satoru

WARNING: multiple messages have this Message-ID (diff)
From: Satoru Moriya <satoru.moriya@hds.com>
To: Jerome Marchand <jmarchan@redhat.com>,
	KOSAKI Motohiro <kosaki.motohiro@jp.fujitsu.com>
Cc: "jweiner@redhat.com" <jweiner@redhat.com>,
	"linux-mm@kvack.org" <linux-mm@kvack.org>,
	"linux-kernel@vger.kernel.org" <linux-kernel@vger.kernel.org>,
	"riel@redhat.com" <riel@redhat.com>,
	"lwoodman@redhat.com" <lwoodman@redhat.com>,
	"dle-develop@lists.sourceforge.net"
	<dle-develop@lists.sourceforge.net>,
	Seiji Aguchi <seiji.aguchi@hds.com>
Subject: RE: [RFC][PATCH] avoid swapping out with swappiness==0
Date: Tue, 3 Apr 2012 11:15:30 -0400	[thread overview]
Message-ID: <65795E11DBF1E645A09CEC7EAEE94B9C014536F9A3@USINDEVS02.corp.hds.com> (raw)
In-Reply-To: <4F7ADE1A.2050004@redhat.com>

On 04/03/2012 07: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.

Right.
As long as we consider RHEL5 users above, I believe they don't care
about cgroup 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

I made a tiny mistake.
Correct one is following ;p

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;
>                }
>        }

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>

  reply	other threads:[~2012-04-03 15:18 UTC|newest]

Thread overview: 64+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2012-03-02 17:36 [RFC][PATCH] avoid swapping out with swappiness==0 Satoru Moriya
2012-03-02 17:36 ` Satoru Moriya
2012-03-02 22:47 ` Rik van Riel
2012-03-02 22:47   ` Rik van Riel
2012-03-02 23:43   ` Satoru Moriya
2012-03-02 23:43     ` Satoru Moriya
2012-03-03  2:29   ` Hillf Danton
2012-03-03  2:29     ` Hillf Danton
2012-03-04  6:57 ` Minchan Kim
2012-03-04  6:57   ` Minchan Kim
2012-03-05 21:38   ` Satoru Moriya
2012-03-05 21:38     ` Satoru Moriya
2012-03-05 13:49 ` Rik van Riel
2012-03-05 13:49   ` Rik van Riel
2012-03-05 21:56 ` Johannes Weiner
2012-03-05 21:56   ` Johannes Weiner
2012-03-07 17:19   ` KOSAKI Motohiro
2012-03-07 17:19     ` KOSAKI Motohiro
2012-03-07 18:18     ` Satoru Moriya
2012-03-07 18:18       ` Satoru Moriya
2012-03-30 22:44       ` Satoru Moriya
2012-03-30 22:44         ` Satoru Moriya
2012-04-02 17:10         ` KOSAKI Motohiro
2012-04-02 17:10           ` KOSAKI Motohiro
2012-04-03 11:25           ` Jerome Marchand
2012-04-03 11:25             ` Jerome Marchand
2012-04-03 15:15             ` Satoru Moriya [this message]
2012-04-03 15:15               ` Satoru Moriya
2012-04-04 17:38             ` KOSAKI Motohiro
2012-04-04 17:38               ` KOSAKI Motohiro
2012-04-21  0:21               ` Satoru Moriya
2012-04-21  0:21                 ` Satoru Moriya
2012-05-11 21:11                 ` Satoru Moriya
2012-05-11 21:11                   ` Satoru Moriya
2012-05-12 22:21                   ` Rik van Riel
2012-05-12 22:21                     ` Rik van Riel
2012-04-24  8:20       ` Richard Davies
2012-04-24  8:20         ` Richard Davies
2012-04-24 22:14         ` Satoru Moriya
2012-04-24 22:14           ` Satoru Moriya
2012-04-26 14:26           ` Richard Davies
2012-04-26 14:26             ` Richard Davies
2012-04-26 15:41             ` KOSAKI Motohiro
2012-04-26 15:41               ` KOSAKI Motohiro
2012-05-07 20:09               ` Rik van Riel
2012-05-07 20:09                 ` Rik van Riel
2012-05-08  0:05                 ` Minchan Kim
2012-05-08  0:05                   ` Minchan Kim
2012-05-21  7:12                 ` Richard Davies
2012-05-21  7:12                   ` Richard Davies
2012-05-21 13:39                   ` Satoru Moriya
2012-05-21 13:39                     ` Satoru Moriya
2012-04-26 14:50         ` Christoph Lameter
2012-04-26 14:50           ` Christoph Lameter
2012-04-26 15:37           ` KOSAKI Motohiro
2012-04-26 15:37             ` KOSAKI Motohiro
2012-04-26 16:08             ` Richard Davies
2012-04-26 16:08               ` Richard Davies
2012-04-26 18:20             ` Christoph Lameter
2012-04-26 18:20               ` Christoph Lameter
2012-04-27 13:55           ` Rik van Riel
2012-04-27 13:55             ` Rik van Riel
2012-05-07 20:11 ` Rik van Riel
2012-05-07 20:11   ` Rik van Riel

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=65795E11DBF1E645A09CEC7EAEE94B9C014536F9A3@USINDEVS02.corp.hds.com \
    --to=satoru.moriya@hds.com \
    --cc=dle-develop@lists.sourceforge.net \
    --cc=jmarchan@redhat.com \
    --cc=jweiner@redhat.com \
    --cc=kosaki.motohiro@jp.fujitsu.com \
    --cc=linux-kernel@vger.kernel.org \
    --cc=linux-mm@kvack.org \
    --cc=lwoodman@redhat.com \
    --cc=riel@redhat.com \
    --cc=seiji.aguchi@hds.com \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.