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
next prev parent 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).