public inbox for linux-kernel@vger.kernel.org
 help / color / mirror / Atom feed
From: George Shuklin <george.shuklin@gmail.com>
To: Valdis.Kletnieks@vt.edu
Cc: linux-kernel@vger.kernel.org
Subject: Re: si_swapinfo export
Date: Sat, 03 Sep 2011 04:52:11 +0400	[thread overview]
Message-ID: <4E617A3B.1090803@gmail.com> (raw)
In-Reply-To: <3187.1314993238@turing-police.cc.vt.edu>

Well, in my personal case it is some 'memory pressure service' for 
virtual machines in xen environment.

It check about 1-2 times per second memory state and report it to 
management software outside VM. Right now this is userspace program, 
which reads /proc/meminfo and sends it via xenstore (interdomain 
communication system) to management domain. It works fine, but we need 
to do double int-str conversion (/proc/meminfo do itoa, our daemon sens 
this to control domain, daemon in control domain do atoi and math to get 
right memory value). This is very inefficient, especially when we talks 
about bunch of VM per host.

kernel module can do math internally with ints, not with strings (no 
conversion at all) - this will save pretty much time (my calculation is 
about one-two of CPU time per day for every virtualization host with 
about 50-100 active VMs.

The information I needs is amount of 'really free' memory. We calculate 
it as (roughly) as  MemFree+Buffers+Cached+(SwapTotal-SwapFree), and our 
management system trying to keep this value within expected values (f.e. 
within interval 128-256Mb). This allows us to prevent VM's swapping and 
allow VM to push to swap really rare used pages (and their place 
actually used for caching).


On 02.09.2011 23:53, Valdis.Kletnieks@vt.edu wrote:
> On Fri, 02 Sep 2011 19:41:29 +0400, George Shuklin said:
>> Good day.
>>
>> Why si_swapinfo (from include/linux/swap.h) is not marked as
>> EXPORT_SYMBOL_GPL? It's kinda hard to gain information about memory in
>> module.
> Use case?  What information exactly are you trying to get in the module, and
> equally important, why?  More likely, what you *actually* want isn't the
> information, it's a new API (or using an existing one you didn't even know was
> there) :)
>

      reply	other threads:[~2011-09-03  0:51 UTC|newest]

Thread overview: 4+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2011-09-02 15:41 si_swapinfo export George Shuklin
2011-09-02 16:18 ` Christoph Lameter
2011-09-02 19:53 ` Valdis.Kletnieks
2011-09-03  0:52   ` George Shuklin [this message]

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=4E617A3B.1090803@gmail.com \
    --to=george.shuklin@gmail.com \
    --cc=Valdis.Kletnieks@vt.edu \
    --cc=linux-kernel@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 a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox