From: Ingo Molnar <mingo@elte.hu>
To: Avi Kivity <avi@redhat.com>
Cc: Sasha Levin <levinsasha928@gmail.com>,
Pekka Enberg <penberg@kernel.org>,
Takuya Yoshikawa <yoshikawa.takuya@oss.ntt.co.jp>,
kvm@vger.kernel.org, asias.hejun@gmail.com, gorcunov@gmail.com,
prasadjoshi124@gmail.com,
"Paul E. McKenney" <paulmck@linux.vnet.ibm.com>,
takuya.yoshikawa@gmail.com
Subject: Re: [PATCH v2 6/8] kvm tools: Add rwlock wrapper
Date: Mon, 30 May 2011 16:43:03 +0200 [thread overview]
Message-ID: <20110530144303.GA13966@elte.hu> (raw)
In-Reply-To: <4DE3A9E8.4010307@redhat.com>
* Avi Kivity <avi@redhat.com> wrote:
> On 05/30/2011 05:10 PM, Ingo Molnar wrote:
> >> [...] Windows has a zeroing thread which causes all of RAM to be
> >> committed shortly after boot, though.
> >
> > heh, maybe they read lkml and copied my ancient idea:
> >
> > http://people.redhat.com/mingo/clearpage-patches/clearpage-2.3.18-J1
> >
> > An earlier version had a 'zerod' (page zeroing kernel thread).
> >
> > This was one of my more stupid ideas btw.
> >
>
> I think that with a dma engine it makes sense. We've got an extra
> resource, why not utilize it in the background? Some workloads
> generate a lot of demand for zero pages.
It was one of the early ideas to use DMA engines to clear memory
slowly in the background.
> I agree that using the cpu to clear memory is not a good idea, it
> just causes cache pollution.
Yeah, but even cache-neutral clearing (either driven from the CPU
from the idle thread or by a DMA engine) is not a particularly good
idea: because it uses up a finite resource: memory bandwidth. Can we
create 'idle' DMA transactions - once that never get in the way of
real DMA transactions?
Also, a profile of a typical kernel build shows:
0.69% cc1 [kernel.kallsyms] [k] clear_page_c
0.49% cc1 [kernel.kallsyms] [k] page_fault
So while we could improve it, the question is, can we do this without
accidentally slowing things down by more than 0.69%? And kernel
builds are a pretty clear_page_c() intense workload.
Thanks,
Ingo
next prev parent reply other threads:[~2011-05-30 14:43 UTC|newest]
Thread overview: 72+ messages / expand[flat|nested] mbox.gz Atom feed top
2011-05-30 8:30 [PATCH v2 1/8] kvm tools: Use correct value for user signal base Sasha Levin
2011-05-30 8:30 ` [PATCH v2 2/8] kvm tools: Remove wrong global definition of kvm Sasha Levin
2011-05-30 8:38 ` Ingo Molnar
2011-05-30 8:59 ` Sasha Levin
2011-05-30 8:30 ` [PATCH v2 3/8] kvm tools: Allow pausing guests Sasha Levin
2011-05-30 8:39 ` Ingo Molnar
2011-05-30 8:30 ` [PATCH v2 4/8] kvm tools: Pause/resume guest using SIGUSR2 Sasha Levin
2011-05-30 8:41 ` Ingo Molnar
2011-05-30 8:30 ` [PATCH v2 5/8] kvm tools: Add a brlock Sasha Levin
2011-05-30 8:30 ` [PATCH v2 6/8] kvm tools: Add rwlock wrapper Sasha Levin
2011-05-30 8:43 ` Ingo Molnar
2011-05-30 9:29 ` Pekka Enberg
2011-05-30 9:34 ` Sasha Levin
2011-05-30 9:40 ` Pekka Enberg
2011-05-30 9:46 ` Sasha Levin
2011-05-30 9:48 ` Pekka Enberg
2011-05-30 9:54 ` Ingo Molnar
2011-05-30 11:11 ` Takuya Yoshikawa
2011-05-30 11:12 ` Sasha Levin
2011-05-30 11:26 ` Takuya Yoshikawa
2011-05-30 11:39 ` Avi Kivity
2011-05-30 11:49 ` Ingo Molnar
2011-05-30 11:55 ` Pekka Enberg
2011-05-30 11:58 ` Sasha Levin
2011-05-30 12:20 ` Ingo Molnar
2011-05-30 12:22 ` Sasha Levin
2011-05-30 12:25 ` Avi Kivity
2011-05-30 12:23 ` Avi Kivity
2011-05-30 12:30 ` Pekka Enberg
2011-05-30 12:32 ` Avi Kivity
2011-05-30 14:10 ` Ingo Molnar
2011-05-30 14:30 ` Avi Kivity
2011-05-30 14:43 ` Ingo Molnar [this message]
2011-05-30 14:50 ` Avi Kivity
2011-05-30 19:32 ` Ingo Molnar
2011-05-30 12:04 ` Avi Kivity
2011-05-30 12:36 ` Ingo Molnar
2011-05-30 12:44 ` Avi Kivity
2011-05-30 12:46 ` Pekka Enberg
2011-05-30 12:48 ` Avi Kivity
2011-05-30 13:05 ` Sasha Levin
2011-06-03 7:27 ` Sasha Levin
2011-06-03 7:34 ` Ingo Molnar
2011-06-03 7:54 ` Sasha Levin
2011-06-03 19:31 ` Paul E. McKenney
2011-06-03 19:56 ` Sasha Levin
2011-06-03 20:22 ` Paul E. McKenney
2011-06-03 21:03 ` Sasha Levin
2011-06-03 21:20 ` Paul E. McKenney
2011-06-03 22:54 ` Sasha Levin
2011-06-03 23:05 ` Paul E. McKenney
2011-06-04 6:26 ` Sasha Levin
2011-06-04 16:30 ` Paul E. McKenney
2011-06-14 22:26 ` Sasha Levin
2011-06-14 23:42 ` Paul E. McKenney
2011-06-15 1:25 ` Sasha Levin
2011-06-15 4:22 ` Paul E. McKenney
2011-06-05 12:12 ` Avi Kivity
2011-05-30 14:16 ` Takuya Yoshikawa
2011-05-30 9:56 ` Ingo Molnar
2011-05-30 10:05 ` Sasha Levin
2011-05-30 10:13 ` Ingo Molnar
2011-05-30 10:22 ` Sasha Levin
2011-05-30 10:30 ` Ingo Molnar
2011-05-30 10:41 ` Sasha Levin
2011-05-30 8:30 ` [PATCH v2 7/8] kvm tools: Add debug mode to brlock Sasha Levin
2011-05-30 8:30 ` [PATCH v2 8/8] kvm tools: Use brlock in MMIO and IOPORT Sasha Levin
2011-05-30 8:47 ` Ingo Molnar
2011-05-30 8:56 ` Sasha Levin
2011-05-30 8:35 ` [PATCH v2 1/8] kvm tools: Use correct value for user signal base Ingo Molnar
2011-05-30 8:40 ` Sasha Levin
2011-05-30 8:49 ` Ingo Molnar
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=20110530144303.GA13966@elte.hu \
--to=mingo@elte.hu \
--cc=asias.hejun@gmail.com \
--cc=avi@redhat.com \
--cc=gorcunov@gmail.com \
--cc=kvm@vger.kernel.org \
--cc=levinsasha928@gmail.com \
--cc=paulmck@linux.vnet.ibm.com \
--cc=penberg@kernel.org \
--cc=prasadjoshi124@gmail.com \
--cc=takuya.yoshikawa@gmail.com \
--cc=yoshikawa.takuya@oss.ntt.co.jp \
/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.