From: Gordan Bobic <gordan@bobich.net>
To: kvm@vger.kernel.org
Subject: Re: KSM For All Via LD_PRELOAD?
Date: Thu, 10 Jun 2010 10:09:15 +0100 [thread overview]
Message-ID: <4C10ABBB.8070009@bobich.net> (raw)
In-Reply-To: <4C1097F2.8070802@redhat.com>
On 06/10/2010 08:44 AM, Jes Sorensen wrote:
> On 06/08/10 20:43, Gordan Bobic wrote:
>> Is this plausible?
>>
>> I'm trying to work out if it's even worth considering this approach to
>> enable all memory used by in a system to be open to KSM page merging,
>> rather than only memory used by specific programs aware of it (e.g.
>> kvm/qemu).
>>
>> Something like this would address the fact that container based
>> virtualization (OpenVZ, VServer, LXC) cannot benefit from KSM.
>>
>> What I'm thinking about is somehow intercepting malloc() and wrapping it
>> so that all malloc()-ed memory gets madvise()-d as well.
>
> Not sure if it is worth it, but you might want to look at ElectricFence
> which does malloc wrapping in a somewhat similar way. It might save you
> some code :)
I'll look into it, but I don't see this requiring more than maybe 50
lines of code, including comments, headers and Makefile. I was planning
to literally just intercept mmap()/brk()/malloc() and mark them with
madvise() when the underlying call returns.
Which brings me to another question:
Would intercepting malloc() be completely redundant if mmap() is
intercepted? Would I also need to do something with intercepting free()?
Is three anything else I would need to intercept?
> Whether or not you will run into problems if you run it system wise is
> really hard to predict. Any other application that might be linked in a
> special way or use preload itself might bark, but you can try it out and
> see what explodes.
Thanks for the heads up. Can you think of any such applications off the
top of your head?
Gordan
next prev parent reply other threads:[~2010-06-10 9:09 UTC|newest]
Thread overview: 9+ messages / expand[flat|nested] mbox.gz Atom feed top
2010-06-08 18:43 KSM For All Via LD_PRELOAD? Gordan Bobic
2010-06-09 8:33 ` Dor Laor
2010-06-09 8:56 ` Paolo Bonzini
2010-06-09 10:31 ` Gordan Bobic
2010-06-10 7:33 ` Dor Laor
2010-06-10 9:03 ` Gordan Bobic
2010-06-10 7:44 ` Jes Sorensen
2010-06-10 9:09 ` Gordan Bobic [this message]
2010-06-10 11:27 ` Jes Sorensen
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=4C10ABBB.8070009@bobich.net \
--to=gordan@bobich.net \
--cc=kvm@vger.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.