Whamcloud - gitweb
LU-4257 obdclass: Get rid of cl_env hash table 54/20254/6
authorJinshan Xiong <jinshan.xiong@intel.com>
Mon, 16 May 2016 20:27:17 +0000 (13:27 -0700)
committerOleg Drokin <oleg.drokin@intel.com>
Fri, 3 Jun 2016 04:34:56 +0000 (04:34 +0000)
commit45332712783a4756bf5930d6bd5f697bbc27acdb
tree2c379a5025620bc8f8428ce6d5fb51ea17ee872b
parent9765c6174ef580fb4deef4e7faea6d5ed634b00f
LU-4257 obdclass: Get rid of cl_env hash table

cl_env hash table is under heavy contention when there are lots of
processes doing IO at the same time;
reduce lock contention by replacing cl_env cache with percpu array;
remove cl_env_nested_get() and cl_env_nested_put();
remove cl_env_reenter() and cl_env_reexit();

Signed-off-by: Jinshan Xiong <jinshan.xiong@intel.com>
Change-Id: I04137c93e2d48f21298fe954a1c2afe1006f44d5
Reviewed-on: http://review.whamcloud.com/20254
Tested-by: Jenkins
Reviewed-by: Andreas Dilger <andreas.dilger@intel.com>
Tested-by: Maloo <hpdd-maloo@intel.com>
Reviewed-by: Bobi Jam <bobijam@hotmail.com>
Reviewed-by: Oleg Drokin <oleg.drokin@intel.com>
19 files changed:
lustre/include/cl_object.h
lustre/ldlm/ldlm_pool.c
lustre/llite/file.c
lustre/llite/lcommon_cl.c
lustre/llite/lcommon_misc.c
lustre/llite/llite_internal.h
lustre/llite/llite_mmap.c
lustre/llite/rw.c
lustre/llite/rw26.c
lustre/lov/lov_io.c
lustre/lov/lov_object.c
lustre/obdclass/cl_internal.h
lustre/obdclass/cl_io.c
lustre/obdclass/cl_object.c
lustre/obdclass/lu_object.c
lustre/obdecho/echo_client.c
lustre/osc/osc_cache.c
lustre/osc/osc_lock.c
lustre/osc/osc_page.c