xen-devel.lists.xenproject.org archive mirror
 help / color / mirror / Atom feed
From: Malcolm Crossley <malcolm.crossley@citrix.com>
To: xen-devel@lists.xen.org
Subject: Re: heap_lock optimizations?
Date: Mon, 15 Jul 2013 16:46:37 +0100	[thread overview]
Message-ID: <51E4195D.9050704@citrix.com> (raw)
In-Reply-To: <20130715151525.GG4817@phenom.dumpdata.com>

On 15/07/13 16:15, Konrad Rzeszutek Wilk wrote:
> Hey Tim,
>
> I was looking at making the 'Scrubbing Free RAM:' code faster on 1TB
> boxes with 128 CPUs. And naively I wrote code that setup a tasklet
> on each CPU and scrub a swatch of MFNs. Unfortunatly even on 8VCPU
> machines the end result was a slower boot time!
>
> The culprit looks to be the heap_lock that is taken and released
> on every MFN (for fun I added a bit of code to do batches - of
> 32 MFNs and to iterate over those 32 MFNs while holding the lock - that
> did make it a bit faster, but not by a much).
>
> What I am wondering is:
>   - Have you ever thought about optimizing this? If so, how?
>   - Another idea to potentially make this faster was to seperate this
>     scrubbing in two stages:
>      1) (under the heap_lock) - reserve/take a giant set of MFN pages
>         (perhaps also consult the NUMA affinity). This would be
>         usurping the whole heap[zone].
>      2) Give it out to the CPUS to scrub (this would be done without being
>         under a spinlock). The heap[zone] would be split equally amongst the
>         CPUs.
>      3) Goto 1 until done.
>   - Look for examples in the Linux kernel to see how it does it.
>
> Thanks!
Hi Konrad,

Did you see a patch I posted for this last year? 
http://lists.xen.org/archives/html/xen-devel/2012-05/msg00701.html

Unfortunately I made some minor errors and it didn't apply cleanly but 
I'll fix it up now and repost so you can test it.

Malcolm
> _______________________________________________
> Xen-devel mailing list
> Xen-devel@lists.xen.org
> http://lists.xen.org/xen-devel

  reply	other threads:[~2013-07-15 15:46 UTC|newest]

Thread overview: 5+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2013-07-15 15:15 heap_lock optimizations? Konrad Rzeszutek Wilk
2013-07-15 15:46 ` Malcolm Crossley [this message]
2013-07-15 16:14   ` Konrad Rzeszutek Wilk
2013-07-16 16:41   ` Konrad Rzeszutek Wilk
2013-07-15 16:09 ` Tim Deegan

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=51E4195D.9050704@citrix.com \
    --to=malcolm.crossley@citrix.com \
    --cc=xen-devel@lists.xen.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;
as well as URLs for NNTP newsgroup(s).