xen-devel.lists.xenproject.org archive mirror
 help / color / mirror / Atom feed
From: "Jan Beulich" <JBeulich@novell.com>
To: Dan Magenheimer <dan.magenheimer@oracle.com>
Cc: jeremy@goop.org, xen-devel@lists.xensource.com,
	Keir Fraser <Keir.Fraser@eu.citrix.com>
Subject: RE: Linux balloon driver stops accepting target_kb for a long time
Date: Wed, 25 Aug 2010 09:16:25 +0100	[thread overview]
Message-ID: <4C74ED7902000078000120D6@vpn.id2.novell.com> (raw)
In-Reply-To: <e1b2ad48-af7d-4b2a-9f3c-92e296a1c7b6@default>

>>> On 25.08.10 at 00:38, Dan Magenheimer <dan.magenheimer@oracle.com> wrote:
> Well the 1 vcpu system is very busy doing a "make -j64" and there's
> a high amount of swap activity.  What priority does balloon_worker
> (launched with schedule_work()) have relative to userland
> threads and other kernel threads such as kswapd?  I.e. is
> it possible that it gets locked out for 30 minutes?  It appears
> that the new balloon target is applied only when system activity
> goes way down (when the number of cc1's run from make starts
> going down).

It should be running in one of the events/<number> worker threads,
which appear to get priority adjusted only in the RT case. It wouldn't
seem right for that thread to get starved for 30 min, but then again
running a "make -j64" on a 1-vCPU and too-little-memory system
seems questionable in the first place.

> Is there any way to boost the priority of this thread?
> Also, if it matters, the "make -j64" is launched from /etc/rc.local,
> so might that boost the priority of the "userland" threads?

I don't think so for both items.

>> I think SysRq-t would also allow you to check whether
>> balloon_process() indeed doesn't exit over a period of minutes
> 
> This was a good idea, but I haven't yet gotten a full SysRq-t
> output because there are so many processes running and I think
> the SysRq-t adds to the general chaos... When I use it, the
> guest goes into 100% vcpu usage after the "make -j64" is
> complete. :-(  However, I can ssh in and top shows the
> thread "events/0" using nearly 100% of the cpu.
>
> Assuming I get a good SysRq-t, would I simply be looking for
> a process stack dump with balloon_process in the stack?
> Would this kind of a yielded kernel thread even show up in
> SysRq-t output?

Hmm, since this is a single vCPU VM, it would be unavoidable
for it to run in the same thread as the balloon worker. As a
result you wouldn't be able to see any trace of it...

Jan

      reply	other threads:[~2010-08-25  8:16 UTC|newest]

Thread overview: 4+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2010-08-23 22:45 Linux balloon driver stops accepting target_kb for a long time Dan Magenheimer
2010-08-24  7:45 ` Jan Beulich
2010-08-24 22:38   ` Dan Magenheimer
2010-08-25  8:16     ` Jan Beulich [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=4C74ED7902000078000120D6@vpn.id2.novell.com \
    --to=jbeulich@novell.com \
    --cc=Keir.Fraser@eu.citrix.com \
    --cc=dan.magenheimer@oracle.com \
    --cc=jeremy@goop.org \
    --cc=xen-devel@lists.xensource.com \
    /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;
as well as URLs for NNTP newsgroup(s).