summaryrefslogtreecommitdiff
path: root/promisc.c
AgeCommit message (Expand)AuthorFilesLines
2013-06-04xutils: move device management functions out of xutilsDaniel Borkmann1-1/+3
2013-06-04xutils: break out promisc mode functionsDaniel Borkmann1-0/+25
nfo' class='commit-info'> authorTomasz Majchrzak <tomasz.majchrzak@intel.com>2016-06-24 14:20:16 +0200 committerShaohua Li <shli@fb.com>2016-07-19 15:20:28 -0700 commit0e5313e2d4ef93bdf6c22dad647d28635b86472a (patch) treeb470429e5ae7c501d920a12550bf76592bac04d0 parent573275b58ee9e1d2ec89f9608060f58931c3cde3 (diff)
raid10: improve random reads performance
RAID10 random read performance is lower than expected due to excessive spinlock utilisation which is required mostly for rebuild/resync. Simplify allow_barrier as it's in IO path and encounters a lot of unnecessary congestion. As lower_barrier just takes a lock in order to decrement a counter, convert counter (nr_pending) into atomic variable and remove the spin lock. There is also a congestion for wake_up (it uses lock internally) so call it only when it's really needed. As wake_up is not called constantly anymore, ensure process waiting to raise a barrier is notified when there are no more waiting IOs. Signed-off-by: Tomasz Majchrzak <tomasz.majchrzak@intel.com> Signed-off-by: Shaohua Li <shli@fb.com>
Diffstat