summaryrefslogtreecommitdiffstats
path: root/drivers/cpufreq
diff options
context:
space:
mode:
authorMike Marciniszyn <mike.marciniszyn@intel.com>2015-11-02 12:13:25 -0500
committerDoug Ledford <dledford@redhat.com>2015-12-07 16:39:26 -0500
commitd144da8c6f51f48ec39d891ea9dff80169c45f3b (patch)
treeb2cc120f870989c2cb4cdd328d0cf7f8355eb012 /drivers/cpufreq
parent57ab2512138205fe7836332fb4742441e53907ff (diff)
downloadlinux-d144da8c6f51f48ec39d891ea9dff80169c45f3b.tar.gz
linux-d144da8c6f51f48ec39d891ea9dff80169c45f3b.tar.bz2
linux-d144da8c6f51f48ec39d891ea9dff80169c45f3b.zip
IB/core: use RCU for uverbs id lookup
The current implementation gets a spin_lock, and at any scale with qib and hfi1 post send, the lock contention grows exponentially with the number of QPs. idr_find() is RCU compatibile, so read doesn't need the lock. Change to use rcu_read_lock() and rcu_read_unlock() in __idr_get_uobj(). kfree_rcu() is used to insure a grace period between the idr removal and actual free. Reviewed-by: Ira Weiny <ira.weiny@intel.com> Signed-off-by: Mike Marciniszyn <mike.marciniszyn@intel.com> Reviewed-By: Jason Gunthorpe <jgunthorpe@obsidianresearch.com> Signed-off-by: Doug Ledford <dledford@redhat.com>
Diffstat (limited to 'drivers/cpufreq')
0 files changed, 0 insertions, 0 deletions