summaryrefslogtreecommitdiff
path: root/tools/perf/scripts/python
diff options
context:
space:
mode:
authorNeilBrown <neilb@suse.de>2014-07-14 11:28:20 +1000
committerTrond Myklebust <trond.myklebust@primarydata.com>2014-08-03 17:14:13 -0400
commitf682a398b2e24ae0a775ddf37cced83b897198ee (patch)
treefdc9c26acf383d15be516af64bb7e66d6a780989 /tools/perf/scripts/python
parent1fa1e38447964d6c96b027f9f999ef105d8cf8aa (diff)
downloadkernel-f682a398b2e24ae0a775ddf37cced83b897198ee.tar.gz
NFS: allow lockless access to access_cache
The access cache is used during RCU-walk path lookups, so it is best to avoid locking if possible as taking a lock kills concurrency. The rbtree is not rcu-safe and cannot easily be made so. Instead we simply check the last (i.e. most recent) entry on the LRU list. If this doesn't match, then we return -ECHILD and retry in lock/refcount mode. This requires freeing the nfs_access_entry struct with rcu, and requires using rcu access primatives when adding entries to the lru, and when examining the last entry. Calling put_rpccred before kfree_rcu looks a bit odd, but as put_rpccred already provides rcu protection, we know that the cred will not actually be freed until the next grace period, so any concurrent access will be safe. This patch provides about 5% performance improvement on a stat-heavy synthetic work load with 4 threads on a 2-core CPU. Signed-off-by: NeilBrown <neilb@suse.de> Signed-off-by: Trond Myklebust <trond.myklebust@primarydata.com>
Diffstat (limited to 'tools/perf/scripts/python')
0 files changed, 0 insertions, 0 deletions
; 2010-03-09Blackfin: move on-chip UART resources to boards filesSonic Zhang Rather than keeping the pins in the actual driver and worrying about a mess of Kconfig options, declare all the desired pin resources in the boards file. This lets people easily select the specific pins/ports for the normal UART as well as GPIOs for CTS/RTS. Signed-off-by: Sonic Zhang <sonic.zhang@analog.com> Signed-off-by: Mike Frysinger <vapier@gentoo.org> 2009-12-15Blackfin: ip0x: pull in asm/portmux.h for P_xxx definesMike Frysinger Signed-off-by: Mike Frysinger <vapier@gentoo.org> 2009-12-15Blackfin: H8606/ip0x: drop redundant SPI ctl_reg settingsMike Frysinger No need to set MSTR in .ctl_reg as the Blackfin SPI bus driver does this already for all parts. Signed-off-by: Mike Frysinger <vapier@gentoo.org> 2009-10-08Blackfin: drop cs_change_per_word settingMike Frysinger Structs get initialized to 0 already, and we want to punt this field, so scrub it from all of our boards. Reported-by: David Brownell <dbrownell@users.sourceforge.net> Signed-off-by: Mike Frysinger <vapier@gentoo.org> 2009-10-07Blackfin: mass clean up of copyright/licensing infoRobin Getz Bill Gatliff & David Brownell pointed out we were missing some copyrights, and licensing terms in some of the files in ./arch/blackfin, so this fixes things, and cleans them up. It also removes: - verbose GPL text(refer to the top level ./COPYING file) - file names (you are looking at the file) - bug url (it's in the ./MAINTAINERS file) - "or later" on GPL-2, when we did not have that right It also allows some Blackfin-specific assembly files to be under a BSD like license (for people to use them outside of Linux). Signed-off-by: Robin Getz <robin.getz@analog.com> Signed-off-by: Mike Frysinger <vapier@gentoo.org>