From: Maneesh Soni <maneesh@in.ibm.com>
To: lse-tech <lse-tech@lists.sourceforge.net>
Cc: LKML <linux-kernel@vger.kernel.org>,
Dipankar Sarma <dipankar@in.ibm.com>,
Paul McKenney <Paul.McKenney@us.ibm.com>,
viro@math.psu.edu, anton@samba.org, andrea@suse.dec,
tytso@mit.edu
Subject: [RFC] Peeling off dcache_lock
Date: Mon, 21 Jan 2002 17:40:39 +0530 [thread overview]
Message-ID: <20020121174039.D8289@in.ibm.com> (raw)
Hi All,
We have been doing experiments with dcache_lock to provide some relief from it.
Though dcache_lock is not a very hot lock in comparision to BKL but on higher
end machines it becomes quite contentious. We would like to have feedbacks,
comments about the approach taken and guidance on how to improve this further.
As dcache_lock is acquired maximum number of times while doing lookup, the main
idea was to remove dcache_lock from d_lookup. With the help of Read Copy Update
it is possible to lookup the hash list of dentries without taking dcache_lock
but as d_lookup also updates the lru list, removing dcache_lock from d_lookup
was not straight forward. Various approaches were tried for that and the most
successful is doing lazy updation of lru list.
Using this the dcache_lock contention was down from 16.5% to 0.95% on an
8-way SMP box and lock utilization was down from 5.3% to 0.89%
The patch for lazy lru updation using RCU can be found here:
http://lse.sourceforge.net/locking/dcache/patches/2.4.17/dcache_rcu-lazy_lru-2.4.17-06.patch
The basic conecpt for this approach is to not update the lru list in d_lookup
facilitating lockless d_lookup. The lru list can now have dentries with non zero
reference count also. The lru list is updated while pruning dentry cache. The
dcache_lock is kept around so that there are no changes in the update side
locking.
The implementation details for lazy lru list updation and other approaches
can be found here:
http://lse.sourceforge.net/locking/dcache/dcache_lock.html
The above patch works fine with various file systems like ext2, JFS, ext3, /procand has been tested ok with ltp-20020108, dbench, httperf. And doesnot not have
any adverse effects on uni processor performance.
Regards,
Maneesh
--
Maneesh Soni
IBM Linux Technology Center,
IBM India Software Lab, Bangalore.
Phone: +91-80-5044999 email: maneesh@in.ibm.com
http://lse.sourceforge.net/locking/rcupdate.html
next reply other threads:[~2002-01-21 12:09 UTC|newest]
Thread overview: 6+ messages / expand[flat|nested] mbox.gz Atom feed top
2002-01-21 12:10 Maneesh Soni [this message]
2002-01-24 7:02 ` [RFC] Peeling off dcache_lock Rusty Russell
[not found] ` <20020125114410.Z8289@in.ibm.com>
2002-01-27 3:42 ` Rusty Russell
2002-02-12 14:11 ` [PATCH][RFC] Peeling off dcache_lock - Ver 2 Maneesh Soni
2002-01-25 9:30 ` [RFC] Peeling off dcache_lock Dipankar Sarma
2002-01-29 0:33 ` 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=20020121174039.D8289@in.ibm.com \
--to=maneesh@in.ibm.com \
--cc=Paul.McKenney@us.ibm.com \
--cc=andrea@suse.dec \
--cc=anton@samba.org \
--cc=dipankar@in.ibm.com \
--cc=linux-kernel@vger.kernel.org \
--cc=lse-tech@lists.sourceforge.net \
--cc=tytso@mit.edu \
--cc=viro@math.psu.edu \
/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