All of lore.kernel.org
 help / color / mirror / Atom feed
* linux guests and ksm performance
@ 2012-02-23 15:40 ` Peter Lieven
  0 siblings, 0 replies; 31+ messages in thread
From: Peter Lieven @ 2012-02-23 15:40 UTC (permalink / raw)
  To: qemu-devel; +Cc: kvm

Hi,

i have recently been playing with an old idea (originally in grsecurity
for security reasons) to change
the policy from zero on allocate to zero after free in the linux page
allocator. My concern is that linux
leaves a lot of waste in the physical memory unlike Windows which per
default zeros pages after
they are freed.

I have run some tests and I can confirm some old results that a hardware
Linux machine
is approximately 2-3% slower with zero after free on big compilation jobs.
This might be due
to either the fact that pages are only zeroed on allocate if GFP_ZERO is
set or due to caching
benefits.

However, in a virtual machine I have not observed the above slow down to
that extend
while the benefit of zero after free in a virtualisation environment is
obvious:

1) zero pages can easily be merged by ksm or other technique.
2) zero (dup) pages are a lot faster to transfer in case of migration.

Therefore I would like to hear your thoughts if it would be a good idea to
change
the strategy in the Linux kernel from zero on allocate to zero after free
automatically
if the 'hypervisor' cpu feature is set? Or even have another technique to
tell a linux
guest that ksm is running on the host.

If this is not feasible can someone think of a kernel module / userspace
program that
zeroes out unused pages periodically.

Peter



^ permalink raw reply	[flat|nested] 31+ messages in thread

end of thread, other threads:[~2012-02-28 13:56 UTC | newest]

Thread overview: 31+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2012-02-23 15:40 linux guests and ksm performance Peter Lieven
2012-02-23 15:40 ` [Qemu-devel] " Peter Lieven
2012-02-23 16:42 ` Stefan Hajnoczi
2012-02-23 16:42   ` [Qemu-devel] " Stefan Hajnoczi
2012-02-23 18:39   ` Javier Guerra Giraldez
2012-02-23 18:39     ` [Qemu-devel] " Javier Guerra Giraldez
2012-02-23 19:08   ` peter.lieven@gmail.com
2012-02-23 19:08     ` [Qemu-devel] " peter.lieven@gmail.com
2012-02-24  6:41     ` Stefan Hajnoczi
2012-02-24  6:41       ` [Qemu-devel] " Stefan Hajnoczi
2012-02-24  6:53       ` Stefan Hajnoczi
2012-02-24  6:53         ` [Qemu-devel] " Stefan Hajnoczi
2012-02-24  7:23         ` Stefan Hajnoczi
2012-02-24  7:23           ` [Qemu-devel] " Stefan Hajnoczi
2012-02-24  7:43           ` Peter Lieven
2012-02-24  7:43             ` [Qemu-devel] " Peter Lieven
2012-02-28 11:45           ` Peter Lieven
2012-02-28 11:46           ` Peter Lieven
2012-02-28 12:05             ` Stefan Hajnoczi
2012-02-28 12:16               ` Peter Lieven
2012-02-28 12:16                 ` Peter Lieven
2012-02-28 13:16       ` Avi Kivity
2012-02-28 13:16         ` [Qemu-devel] " Avi Kivity
2012-02-28 13:20         ` Peter Lieven
2012-02-28 13:20           ` [Qemu-devel] " Peter Lieven
2012-02-28 13:56           ` Avi Kivity
2012-02-28 13:56             ` [Qemu-devel] " Avi Kivity
2012-02-24  7:04   ` Gleb Natapov
2012-02-24  7:04     ` [Qemu-devel] " Gleb Natapov
2012-02-28 13:14   ` Avi Kivity
2012-02-28 13:14     ` [Qemu-devel] " Avi Kivity

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.