From: "Paul E. McKenney" <paulmck@us.ibm.com>
To: viro@parcelfarce.linux.theplanet.co.uk
Cc: Linus Torvalds <torvalds@transmeta.com>,
Trond Myklebust <trond.myklebust@fys.uio.no>,
Linux Kernel <linux-kernel@vger.kernel.org>
Subject: Re: [PATCH] First casuality of hlist poisoning in 2.5.70
Date: Thu, 19 Jun 2003 16:01:35 -0700 [thread overview]
Message-ID: <20030619230135.GA8045@us.ibm.com> (raw)
In-Reply-To: <20030612162627.GJ6754@parcelfarce.linux.theplanet.co.uk>
On Thu, Jun 12, 2003 at 05:26:27PM +0100, viro@parcelfarce.linux.theplanet.co.uk wrote:
> We _do_ need to sort out the situation with unhashing stuff in NFS - in
> particular, the way it deals with mountpoints and with directories is
> a mess. I'm looking through that code, but it's bloody slow analysis
> due to RCU. Premature optimizations and all such...
No arguments on NFS, and I have to agree that RCU has been used
primarily as an optimization thus far in Linux. However, RCU
can and should be considered quite early on. The situation is
similar to reader-writer locking -- you are better off working
out which of your locks are going to be reader-writer locks
earlier rather than later. If you use either reader-writer
locking or RCU as a late optimization, you will find that your
earlier design decisions make your life more complex than necessary.
On the other hand, if RCU is considered early, it can make life
simpler. Breaking up locks often introduces deadlocks. Some
of these deadlocks can be avoided entirely by thinking through
the use of RCU at design time. An extreme example of deadlock
avoidance may be found in IPMI (drivers/char/ipmi/ipmi_kcs_intf.c,
the synchronize_kernel() near line 1174). Really tough to do
this as a late optimization...
Thanx, Paul
prev parent reply other threads:[~2003-06-19 23:48 UTC|newest]
Thread overview: 9+ messages / expand[flat|nested] mbox.gz Atom feed top
2003-06-11 23:34 Trond Myklebust
2003-06-11 23:50 ` Linus Torvalds
2003-06-12 0:04 ` Trond Myklebust
2003-06-12 0:32 ` Linus Torvalds
2003-06-12 5:22 ` Linus Torvalds
2003-06-12 6:04 ` Trond Myklebust
2003-06-12 7:30 ` Trond Myklebust
2003-06-12 16:26 ` viro
2003-06-19 23:01 ` Paul E. McKenney [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=20030619230135.GA8045@us.ibm.com \
--to=paulmck@us.ibm.com \
--cc=linux-kernel@vger.kernel.org \
--cc=torvalds@transmeta.com \
--cc=trond.myklebust@fys.uio.no \
--cc=viro@parcelfarce.linux.theplanet.co.uk \
/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
all inboxes | Powered by JetHome®