From: Dipankar Sarma <dipankar@in.ibm.com>
To: hch@caldera.de
Cc: linux-kernel@vger.kernel.org,
Paul Mckenney <paul.mckenney@us.ibm.com>,
Andrea Arcangeli <andrea@suse.de>
Subject: Re: 2.4.10pre7aa1
Date: Tue, 11 Sep 2001 14:21:58 +0530 [thread overview]
Message-ID: <20010911142158.A1537@in.ibm.com> (raw)
Hi Christoph,
In article <20010910205250.B22889@caldera.de> you wrote:
> Hmm, I don't see why latency is important for rcu - we only want to
> free datastructures.. (mm load?).
While it is not important for RCU to do the updates quickly, it is
still necessary that updates are not completely starved out by
high-priority tasks. So, the idea behind using high-priority
krcuds is to ensure that they don't get starved thereby delaying
updates for unreasonably long periods of time which could lead
to memory pressure or other performance problems depending on
how RCU is being used.
> On the other hands they are the experts on RCU, not I so I'll believe them.
>> So in short if you really are in pain for 8k per cpu to get the best
>> runtime behaviour and cleaner code I'd at least suggest to use the
>> ksoftirqd way that should be the next best step.
> My problem with this appropech is just that we use kernel threads for
> more and more stuff - always creating new ones. I think at some point
> they will sum up badly.
> Christoph
I agree that it is not always a good idea to use kernel threads for
everything, but in this case this seems to be the safest and
most reasonable option.
FYI, there are a couple of other implementations, but they all affect
code in fast paths even if there is no RCU going on in the system.
One of them is from Rusty that keeps track of CPUs going through
quiescent state from the scheduler context and also executes the
callbacks from the scheduler context. The other patch is based
on our old DYNIX/ptx implementation - it uses one per-cpu context
switch counter to detect quiescent state and checks for completion
of RCU in local timer interrupt handler. Once all the CPUs go
through a quiescent state, the callbacks are processed using
a tasklet.
Thanks
Dipankar
--
Dipankar Sarma <dipankar@in.ibm.com> Project: http://lse.sourceforge.net
Linux Technology Center, IBM Software Lab, Bangalore, India.
next reply other threads:[~2001-09-11 8:47 UTC|newest]
Thread overview: 32+ messages / expand[flat|nested] mbox.gz Atom feed top
2001-09-11 8:51 Dipankar Sarma [this message]
2001-09-11 11:04 ` 2.4.10pre7aa1 Andrea Arcangeli
2001-09-11 12:40 ` 2.4.10pre7aa1 Alan Cox
2001-09-11 13:49 ` 2.4.10pre7aa1 Andrea Arcangeli
-- strict thread matches above, loose matches on Subject: below --
2001-09-17 9:13 2.4.10pre7aa1 Dipankar Sarma
2001-09-12 11:04 2.4.10pre7aa1 Dipankar Sarma
2001-09-12 14:03 ` 2.4.10pre7aa1 Andrea Arcangeli
2001-09-12 14:42 ` 2.4.10pre7aa1 Dipankar Sarma
2001-09-12 14:53 ` 2.4.10pre7aa1 Andrea Arcangeli
2001-09-16 12:23 ` 2.4.10pre7aa1 Rusty Russell
2001-09-11 13:05 2.4.10pre7aa1 Dipankar Sarma
2001-09-11 13:56 ` 2.4.10pre7aa1 Andrea Arcangeli
2001-09-11 14:27 ` 2.4.10pre7aa1 Dipankar Sarma
2001-09-11 12:22 2.4.10pre7aa1 Dipankar Sarma
2001-09-11 11:53 2.4.10pre7aa1 Dipankar Sarma
2001-09-11 11:57 ` 2.4.10pre7aa1 Andrea Arcangeli
2001-09-11 9:39 2.4.10pre7aa1 Maneesh Soni
2001-09-11 11:12 ` 2.4.10pre7aa1 Andrea Arcangeli
[not found] <20010910175416.A714@athlon.random>
2001-09-10 17:41 ` 2.4.10pre7aa1 Christoph Hellwig
2001-09-10 18:03 ` 2.4.10pre7aa1 Andrea Arcangeli
2001-09-10 18:49 ` 2.4.10pre7aa1 Christoph Hellwig
2001-09-10 19:01 ` 2.4.10pre7aa1 Andrea Arcangeli
2001-09-10 19:03 ` 2.4.10pre7aa1 Christoph Hellwig
2001-09-10 19:08 ` 2.4.10pre7aa1 Andrea Arcangeli
2001-09-10 18:52 ` 2.4.10pre7aa1 Christoph Hellwig
2001-09-10 19:06 ` 2.4.10pre7aa1 Andrea Arcangeli
2001-09-16 17:00 ` 2.4.10pre7aa1 Rik van Riel
2001-09-16 17:23 ` 2.4.10pre7aa1 Andrea Arcangeli
2001-09-16 17:34 ` 2.4.10pre7aa1 Rik van Riel
2001-09-16 18:16 ` 2.4.10pre7aa1 Andrea Arcangeli
2001-09-16 19:04 ` 2.4.10pre7aa1 Christoph Hellwig
2001-09-12 8:24 ` 2.4.10pre7aa1 Rusty Russell
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=20010911142158.A1537@in.ibm.com \
--to=dipankar@in.ibm.com \
--cc=andrea@suse.de \
--cc=hch@caldera.de \
--cc=linux-kernel@vger.kernel.org \
--cc=paul.mckenney@us.ibm.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