On Thu, Jun 02, 2016 at 02:28:36PM +0800, Huang, Ying wrote:
"Huang, Ying" <ying.huang(a)intel.com> writes:
Here is the comparison result with perf profile information. You
find it via searching 'perf-profile'.
Looks like this load is hitting the arseloads of contention cases of
spin_lock() on various ->d_lock inside dcache_readdir(). With exclusive
lock on directory most of them end up uncontended...
I'll try to see what can be done there; quite a bit of those are actually
due to moving the cursor on every step. I wonder if we could do the list
traversals with something less drastic - the real contents changes are
prevented by the shared lock on directory being held, after all...
I'll play with that and post when I get somewhere with it...