All of lore.kernel.org
 help / color / mirror / Atom feed
From: Anisse Astier <anisse@astier.eu>
To: Mel Gorman <mgorman@suse.de>
Cc: Andrew Morton <akpm@linux-foundation.org>,
	"Kirill A. Shutemov" <kirill.shutemov@linux.intel.com>,
	David Rientjes <rientjes@google.com>,
	Alan Cox <gnomes@lxorguk.ukuu.org.uk>,
	Linus Torvalds <torvalds@linux-foundation.org>,
	Peter Zijlstra <peterz@infradead.org>,
	PaX Team <pageexec@freemail.hu>,
	Brad Spengler <spender@grsecurity.net>,
	Kees Cook <keescook@chromium.org>,
	Andi Kleen <andi@firstfloor.org>,
	"Rafael J. Wysocki" <rjw@rjwysocki.net>,
	Pavel Machek <pavel@ucw.cz>, Len Brown <len.brown@intel.com>,
	linux-mm@kvack.org, Linux PM list <linux-pm@vger.kernel.org>,
	Linux Kernel Mailing List <linux-kernel@vger.kernel.org>
Subject: Re: [PATCH v4 0/3] Sanitizing freed pages
Date: Wed, 20 May 2015 14:24:09 +0200	[thread overview]
Message-ID: <CALUN=q+xanBnXOo8bR89DYC8opNmt5j4szG80ZOPPHY6BRgr7Q@mail.gmail.com> (raw)
In-Reply-To: <20150519124644.GD2462@suse.de>

On Tue, May 19, 2015 at 2:46 PM, Mel Gorman <mgorman@suse.de> wrote:
> On Thu, May 14, 2015 at 04:19:45PM +0200, Anisse Astier wrote:
>> Hi,
>>
>>  - it can help with long-term memory consumption in an environment with
>>    multiple VMs and Kernel Same-page Merging on the host. [2]
>
> This is not quantified but a better way of dealing with that problem would
> be for a guest to signal to the host when a page is really free. I vaguely
> recall that s390 has some hinting of this nature. While I accept there
> may be some benefits in some cases, I think it's a weak justification for
> always zeroing pages on free.

Sure, there's always a better way, like virtio's ballooning. This
approach has the merit of being much simpler to use.



>> I haven't been able to measure a meaningful performance difference when
>> compiling a (in-cache) kernel; I'd be interested to see what difference it
>> makes with your particular workload/hardware (I suspect mine is CPU-bound on
>> this small laptop).
>>
>
> What did you use to determine this and did you check if it was hitting
> the free paths heavily while it's running? It can be very easy to hide
> the cost of something like this if all the frees happen at exit.

I'll admit that it's lacking numbers; I've chosen the simplest
benchmark available (kernel compiles), and couldn't measure a
difference in overall time, but I didn't go as far as using perf to
find where the hot path is.

Another way of thinking about this is just moving the clearing from
allocation to freeing. Userland memory allocated through anonymous
mapping is already cleared on alloc, so this will make allocation
faster. It's a different kind of tradeoff.

Regards,

Anisse

WARNING: multiple messages have this Message-ID (diff)
From: Anisse Astier <anisse@astier.eu>
To: Mel Gorman <mgorman@suse.de>
Cc: Andrew Morton <akpm@linux-foundation.org>,
	"Kirill A. Shutemov" <kirill.shutemov@linux.intel.com>,
	David Rientjes <rientjes@google.com>,
	Alan Cox <gnomes@lxorguk.ukuu.org.uk>,
	Linus Torvalds <torvalds@linux-foundation.org>,
	Peter Zijlstra <peterz@infradead.org>,
	PaX Team <pageexec@freemail.hu>,
	Brad Spengler <spender@grsecurity.net>,
	Kees Cook <keescook@chromium.org>,
	Andi Kleen <andi@firstfloor.org>,
	"Rafael J. Wysocki" <rjw@rjwysocki.net>,
	Pavel Machek <pavel@ucw.cz>, Len Brown <len.brown@intel.com>,
	linux-mm@kvack.org, Linux PM list <linux-pm@vger.kernel.org>,
	Linux Kernel Mailing List <linux-kernel@vger.kernel.org>
Subject: Re: [PATCH v4 0/3] Sanitizing freed pages
Date: Wed, 20 May 2015 14:24:09 +0200	[thread overview]
Message-ID: <CALUN=q+xanBnXOo8bR89DYC8opNmt5j4szG80ZOPPHY6BRgr7Q@mail.gmail.com> (raw)
In-Reply-To: <20150519124644.GD2462@suse.de>

On Tue, May 19, 2015 at 2:46 PM, Mel Gorman <mgorman@suse.de> wrote:
> On Thu, May 14, 2015 at 04:19:45PM +0200, Anisse Astier wrote:
>> Hi,
>>
>>  - it can help with long-term memory consumption in an environment with
>>    multiple VMs and Kernel Same-page Merging on the host. [2]
>
> This is not quantified but a better way of dealing with that problem would
> be for a guest to signal to the host when a page is really free. I vaguely
> recall that s390 has some hinting of this nature. While I accept there
> may be some benefits in some cases, I think it's a weak justification for
> always zeroing pages on free.

Sure, there's always a better way, like virtio's ballooning. This
approach has the merit of being much simpler to use.



>> I haven't been able to measure a meaningful performance difference when
>> compiling a (in-cache) kernel; I'd be interested to see what difference it
>> makes with your particular workload/hardware (I suspect mine is CPU-bound on
>> this small laptop).
>>
>
> What did you use to determine this and did you check if it was hitting
> the free paths heavily while it's running? It can be very easy to hide
> the cost of something like this if all the frees happen at exit.

I'll admit that it's lacking numbers; I've chosen the simplest
benchmark available (kernel compiles), and couldn't measure a
difference in overall time, but I didn't go as far as using perf to
find where the hot path is.

Another way of thinking about this is just moving the clearing from
allocation to freeing. Userland memory allocated through anonymous
mapping is already cleared on alloc, so this will make allocation
faster. It's a different kind of tradeoff.

Regards,

Anisse

--
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/ .
Don't email: <a href=mailto:"dont@kvack.org"> email@kvack.org </a>

  parent reply	other threads:[~2015-05-20 12:24 UTC|newest]

Thread overview: 44+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2015-05-14 14:19 [PATCH v4 0/3] Sanitizing freed pages Anisse Astier
2015-05-14 14:19 ` Anisse Astier
2015-05-14 14:19 ` Anisse Astier
2015-05-14 14:19 ` [PATCH v4 1/3] PM / Hibernate: prepare for SANITIZE_FREED_PAGES Anisse Astier
2015-05-14 14:19   ` Anisse Astier
2015-05-16  0:28   ` Rafael J. Wysocki
2015-05-16  0:28     ` Rafael J. Wysocki
2015-05-18 10:23     ` Anisse Astier
2015-05-18 10:23       ` Anisse Astier
2015-05-19 23:46       ` Rafael J. Wysocki
2015-05-19 23:46         ` Rafael J. Wysocki
2015-05-20 11:45         ` PaX Team
2015-05-20 11:45           ` PaX Team
2015-05-20 12:07           ` Anisse Astier
2015-05-20 12:07             ` Anisse Astier
2015-05-21  1:11             ` Rafael J. Wysocki
2015-05-21  1:11               ` Rafael J. Wysocki
2015-05-20 11:57         ` Anisse Astier
2015-05-20 11:57           ` Anisse Astier
2015-05-14 14:19 ` [PATCH v4 2/3] mm/page_alloc.c: add config option to sanitize freed pages Anisse Astier
2015-05-14 14:19   ` Anisse Astier
2015-05-18 11:21   ` Pavel Machek
2015-05-18 11:21     ` Pavel Machek
2015-05-18 12:41     ` Anisse Astier
2015-05-18 12:41       ` Anisse Astier
2015-05-18 13:02       ` Pavel Machek
2015-05-18 13:02         ` Pavel Machek
2015-05-18 13:04         ` Anisse Astier
2015-05-18 13:04           ` Anisse Astier
2015-05-19  1:58           ` yalin wang
2015-05-20 12:27             ` Anisse Astier
2015-05-20 12:27               ` Anisse Astier
2015-05-14 14:19 ` [PATCH v4 3/3] mm: Add debug code for SANITIZE_FREED_PAGES Anisse Astier
2015-05-14 14:19   ` Anisse Astier
2015-05-19 12:46 ` [PATCH v4 0/3] Sanitizing freed pages Mel Gorman
2015-05-19 12:46   ` Mel Gorman
2015-05-19 13:35   ` One Thousand Gnomes
2015-05-19 13:35     ` One Thousand Gnomes
2015-05-19 13:56     ` Mel Gorman
2015-05-19 13:56       ` Mel Gorman
2015-05-19 20:59   ` PaX Team
2015-05-19 20:59     ` PaX Team
2015-05-20 12:24   ` Anisse Astier [this message]
2015-05-20 12:24     ` Anisse Astier

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='CALUN=q+xanBnXOo8bR89DYC8opNmt5j4szG80ZOPPHY6BRgr7Q@mail.gmail.com' \
    --to=anisse@astier.eu \
    --cc=akpm@linux-foundation.org \
    --cc=andi@firstfloor.org \
    --cc=gnomes@lxorguk.ukuu.org.uk \
    --cc=keescook@chromium.org \
    --cc=kirill.shutemov@linux.intel.com \
    --cc=len.brown@intel.com \
    --cc=linux-kernel@vger.kernel.org \
    --cc=linux-mm@kvack.org \
    --cc=linux-pm@vger.kernel.org \
    --cc=mgorman@suse.de \
    --cc=pageexec@freemail.hu \
    --cc=pavel@ucw.cz \
    --cc=peterz@infradead.org \
    --cc=rientjes@google.com \
    --cc=rjw@rjwysocki.net \
    --cc=spender@grsecurity.net \
    --cc=torvalds@linux-foundation.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.