All of lore.kernel.org
 help / color / mirror / Atom feed
From: Konstantin Khlebnikov <khlebnikov@parallels.com>
To: Pekka Enberg <penberg@kernel.org>
Cc: "linux-mm@kvack.org" <linux-mm@kvack.org>,
	Andrew Morton <akpm@linux-foundation.org>,
	"linux-kernel@vger.kernel.org" <linux-kernel@vger.kernel.org>,
	Wu Fengguang <fengguang.wu@intel.com>,
	KAMEZAWA Hiroyuki <kamezawa.hiroyu@jp.fujitsu.com>,
	Johannes Weiner <hannes@cmpxchg.org>
Subject: Re: [PATCH 1/2] vmscan: promote shared file mapped pages
Date: Mon, 8 Aug 2011 16:51:35 +0400	[thread overview]
Message-ID: <4E3FDBD7.2030801@parallels.com> (raw)
In-Reply-To: <CAOJsxLHOM3NR8Rqzj4pp=9PP2UU=coPd6ftHFihjLQRiHMobfw@mail.gmail.com>

Pekka Enberg wrote:
> On Mon, Aug 8, 2011 at 3:18 PM, Konstantin Khlebnikov
> <khlebnikov@parallels.com>  wrote:
>> Pekka Enberg wrote:
>>>
>>> Hi Konstantin,
>>>
>>> On Mon, Aug 8, 2011 at 2:06 PM, Konstantin Khlebnikov
>>> <khlebnikov@openvz.org>    wrote:
>>>>
>>>> Commit v2.6.33-5448-g6457474 (vmscan: detect mapped file pages used only
>>>> once)
>>>> greatly decreases lifetime of single-used mapped file pages.
>>>> Unfortunately it also decreases life time of all shared mapped file
>>>> pages.
>>>> Because after commit v2.6.28-6130-gbf3f3bc (mm: don't mark_page_accessed
>>>> in fault path)
>>>> page-fault handler does not mark page active or even referenced.
>>>>
>>>> Thus page_check_references() activates file page only if it was used
>>>> twice while
>>>> it stays in inactive list, meanwhile it activates anon pages after first
>>>> access.
>>>> Inactive list can be small enough, this way reclaimer can accidentally
>>>> throw away any widely used page if it wasn't used twice in short period.
>>>>
>>>> After this patch page_check_references() also activate file mapped page
>>>> at first
>>>> inactive list scan if this page is already used multiple times via
>>>> several ptes.
>>>>
>>>> Signed-off-by: Konstantin Khlebnikov<khlebnikov@openvz.org>
>>>
>>> Both patches seem reasonable but the changelogs don't really explain
>>> why you're doing the changes. How did you find out about the problem?
>>> Is there some workload that's affected? How did you test your changes?
>>>
>>
>> I found this while trying to fix degragation in rhel6 (~2.6.32) from rhel5
>> (~2.6.18).
>> There a complete mess with>100 web/mail/spam/ftp containers,
>> they share all their files but there a lot of anonymous pages:
>> ~500mb shared file mapped memory and 15-20Gb non-shared anonymous memory.
>> In this situation major-pagefaults are very costly, because all containers
>> share the same page.
>> In my load kernel created a disproportionate pressure on the file memory,
>> compared with the anonymous,
>> they equaled only if I raise swappiness up to 150 =)
>>
>> These patches actually wasn't helped a lot in my problem,
>> but I saw noticable (10-20 times) reduce in count and average time of
>> major-pagefault in file-mapped areas.
>>
>> Actually both patches are fixes for commit v2.6.33-5448-g6457474,
>> because it was aimed at one scenario (singly used pages),
>> but it breaks the logic in other scenarios (shared and/or executable pages)
>
> It'd be nice to have such details in the changelogs. FWIW,

It's not quite honest, I did not do any measurements in the mainline kernel,
I only boot 3.1-rc1 with them on my laptop.
It would be nice to repeat the measurements from v2.6.30-5507-g8cab475,
but I do not have time for that right now.

>
> Acked-by: Pekka Enberg<penberg@kernel.org>


WARNING: multiple messages have this Message-ID (diff)
From: Konstantin Khlebnikov <khlebnikov@parallels.com>
To: Pekka Enberg <penberg@kernel.org>
Cc: "linux-mm@kvack.org" <linux-mm@kvack.org>,
	Andrew Morton <akpm@linux-foundation.org>,
	"linux-kernel@vger.kernel.org" <linux-kernel@vger.kernel.org>,
	Wu Fengguang <fengguang.wu@intel.com>,
	KAMEZAWA Hiroyuki <kamezawa.hiroyu@jp.fujitsu.com>,
	Johannes Weiner <hannes@cmpxchg.org>
Subject: Re: [PATCH 1/2] vmscan: promote shared file mapped pages
Date: Mon, 8 Aug 2011 16:51:35 +0400	[thread overview]
Message-ID: <4E3FDBD7.2030801@parallels.com> (raw)
In-Reply-To: <CAOJsxLHOM3NR8Rqzj4pp=9PP2UU=coPd6ftHFihjLQRiHMobfw@mail.gmail.com>

Pekka Enberg wrote:
> On Mon, Aug 8, 2011 at 3:18 PM, Konstantin Khlebnikov
> <khlebnikov@parallels.com>  wrote:
>> Pekka Enberg wrote:
>>>
>>> Hi Konstantin,
>>>
>>> On Mon, Aug 8, 2011 at 2:06 PM, Konstantin Khlebnikov
>>> <khlebnikov@openvz.org>    wrote:
>>>>
>>>> Commit v2.6.33-5448-g6457474 (vmscan: detect mapped file pages used only
>>>> once)
>>>> greatly decreases lifetime of single-used mapped file pages.
>>>> Unfortunately it also decreases life time of all shared mapped file
>>>> pages.
>>>> Because after commit v2.6.28-6130-gbf3f3bc (mm: don't mark_page_accessed
>>>> in fault path)
>>>> page-fault handler does not mark page active or even referenced.
>>>>
>>>> Thus page_check_references() activates file page only if it was used
>>>> twice while
>>>> it stays in inactive list, meanwhile it activates anon pages after first
>>>> access.
>>>> Inactive list can be small enough, this way reclaimer can accidentally
>>>> throw away any widely used page if it wasn't used twice in short period.
>>>>
>>>> After this patch page_check_references() also activate file mapped page
>>>> at first
>>>> inactive list scan if this page is already used multiple times via
>>>> several ptes.
>>>>
>>>> Signed-off-by: Konstantin Khlebnikov<khlebnikov@openvz.org>
>>>
>>> Both patches seem reasonable but the changelogs don't really explain
>>> why you're doing the changes. How did you find out about the problem?
>>> Is there some workload that's affected? How did you test your changes?
>>>
>>
>> I found this while trying to fix degragation in rhel6 (~2.6.32) from rhel5
>> (~2.6.18).
>> There a complete mess with>100 web/mail/spam/ftp containers,
>> they share all their files but there a lot of anonymous pages:
>> ~500mb shared file mapped memory and 15-20Gb non-shared anonymous memory.
>> In this situation major-pagefaults are very costly, because all containers
>> share the same page.
>> In my load kernel created a disproportionate pressure on the file memory,
>> compared with the anonymous,
>> they equaled only if I raise swappiness up to 150 =)
>>
>> These patches actually wasn't helped a lot in my problem,
>> but I saw noticable (10-20 times) reduce in count and average time of
>> major-pagefault in file-mapped areas.
>>
>> Actually both patches are fixes for commit v2.6.33-5448-g6457474,
>> because it was aimed at one scenario (singly used pages),
>> but it breaks the logic in other scenarios (shared and/or executable pages)
>
> It'd be nice to have such details in the changelogs. FWIW,

It's not quite honest, I did not do any measurements in the mainline kernel,
I only boot 3.1-rc1 with them on my laptop.
It would be nice to repeat the measurements from v2.6.30-5507-g8cab475,
but I do not have time for that right now.

>
> Acked-by: Pekka Enberg<penberg@kernel.org>

--
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:[~2011-08-08 12:51 UTC|newest]

Thread overview: 64+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2011-08-08 11:06 [PATCH 1/2] vmscan: promote shared file mapped pages Konstantin Khlebnikov
2011-08-08 11:06 ` Konstantin Khlebnikov
2011-08-08 11:07 ` [PATCH 2/2] vmscan: activate executable pages after first usage Konstantin Khlebnikov
2011-08-08 11:07   ` Konstantin Khlebnikov
2011-08-08 23:58   ` KAMEZAWA Hiroyuki
2011-08-08 23:58     ` KAMEZAWA Hiroyuki
2011-08-09  0:02   ` Minchan Kim
2011-08-09  0:02     ` Minchan Kim
2011-08-09  0:04     ` KAMEZAWA Hiroyuki
2011-08-09  0:04       ` KAMEZAWA Hiroyuki
2011-08-09  0:26       ` Minchan Kim
2011-08-09  0:26         ` Minchan Kim
2011-08-09  1:23   ` Shaohua Li
2011-08-09  1:23     ` Shaohua Li
2011-08-08 11:37 ` [PATCH 1/2] vmscan: promote shared file mapped pages Pekka Enberg
2011-08-08 11:37   ` Pekka Enberg
2011-08-08 12:18   ` Konstantin Khlebnikov
2011-08-08 12:18     ` Konstantin Khlebnikov
2011-08-08 12:40     ` Pekka Enberg
2011-08-08 12:40       ` Pekka Enberg
2011-08-08 12:51       ` Konstantin Khlebnikov [this message]
2011-08-08 12:51         ` Konstantin Khlebnikov
2011-08-18  9:09     ` Johannes Weiner
2011-08-18  9:09       ` Johannes Weiner
2011-11-02 16:30     ` Johannes Weiner
2011-11-02 16:30       ` Johannes Weiner
2011-11-02 16:31       ` [rfc 1/3] mm: vmscan: never swap under low memory pressure Johannes Weiner
2011-11-02 16:31         ` Johannes Weiner
2011-11-02 17:54         ` KOSAKI Motohiro
2011-11-02 17:54           ` KOSAKI Motohiro
2011-11-03 15:51           ` Johannes Weiner
2011-11-03 15:51             ` Johannes Weiner
2011-11-08  0:16             ` KOSAKI Motohiro
2011-11-08  0:16               ` KOSAKI Motohiro
2011-11-07  2:29         ` KAMEZAWA Hiroyuki
2011-11-07  2:29           ` KAMEZAWA Hiroyuki
2011-11-10 15:29           ` Johannes Weiner
2011-11-10 15:29             ` Johannes Weiner
2011-11-02 16:32       ` [rfc 2/3] mm: vmscan: treat inactive cycling as neutral Johannes Weiner
2011-11-02 16:32         ` Johannes Weiner
2011-11-02 18:04         ` KOSAKI Motohiro
2011-11-02 18:04           ` KOSAKI Motohiro
2011-11-03 12:49           ` Johannes Weiner
2011-11-03 12:49             ` Johannes Weiner
2011-11-07  2:34         ` KAMEZAWA Hiroyuki
2011-11-07  2:34           ` KAMEZAWA Hiroyuki
2011-11-10 16:06           ` Johannes Weiner
2011-11-10 16:06             ` Johannes Weiner
2011-11-11  0:05             ` KAMEZAWA Hiroyuki
2011-11-11  0:05               ` KAMEZAWA Hiroyuki
2011-11-02 16:32       ` [rfc 3/3] mm: vmscan: revert file list boost on lru addition Johannes Weiner
2011-11-02 16:32         ` Johannes Weiner
2011-11-07  2:45         ` KAMEZAWA Hiroyuki
2011-11-07  2:45           ` KAMEZAWA Hiroyuki
2011-11-10 16:12           ` Johannes Weiner
2011-11-10 16:12             ` Johannes Weiner
2011-11-02 16:35       ` [PATCH 1/2] vmscan: promote shared file mapped pages Johannes Weiner
2011-11-02 16:35         ` Johannes Weiner
2011-08-08 23:36 ` Minchan Kim
2011-08-08 23:36   ` Minchan Kim
2011-08-08 23:51 ` KAMEZAWA Hiroyuki
2011-08-08 23:51   ` KAMEZAWA Hiroyuki
2011-10-31 20:12 ` Andrew Morton
2011-10-31 20:12   ` Andrew Morton

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=4E3FDBD7.2030801@parallels.com \
    --to=khlebnikov@parallels.com \
    --cc=akpm@linux-foundation.org \
    --cc=fengguang.wu@intel.com \
    --cc=hannes@cmpxchg.org \
    --cc=kamezawa.hiroyu@jp.fujitsu.com \
    --cc=linux-kernel@vger.kernel.org \
    --cc=linux-mm@kvack.org \
    --cc=penberg@kernel.org \
    /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.