Whamcloud - gitweb
LU-3321 clio: optimize read ahead code 23/8523/12
authorJinshan Xiong <jinshan.xiong@intel.com>
Fri, 3 Jan 2014 17:58:56 +0000 (09:58 -0800)
committerOleg Drokin <oleg.drokin@intel.com>
Thu, 6 Feb 2014 07:05:46 +0000 (07:05 +0000)
commitdff46e780827cf723c90bd349bc22951fb46e0ae
tree9b7a508dfc3cb15499bfc1b662a1c7e6ae5f10ca
parent2412a8b68573909237bf8d8a0f8ede04e918db0c
LU-3321 clio: optimize read ahead code

It used to check each page in the readahead window is covered by
a lock underneath, now cpo_page_is_under_lock() provides @max_index
to help decide the maximum ra window. @max_index can be modified by
OSC to extend the maximum lock region, to align stripe boundary at
LOV, and to make sure the readahead region at least covers read
region at LLITE layer.

After this is done, usually readahead code calls
cpo_page_is_under_lock() for each stripe.

Signed-off-by: Jinshan Xiong <jinshan.xiong@intel.com>
Change-Id: Iecce020d01b804b799ad234f623498cc6f2f3fb2
Reviewed-on: http://review.whamcloud.com/8523
Tested-by: Jenkins
Tested-by: Maloo <hpdd-maloo@intel.com>
Reviewed-by: Andreas Dilger <andreas.dilger@intel.com>
Reviewed-by: Oleg Drokin <oleg.drokin@intel.com>
19 files changed:
lustre/include/cl_object.h
lustre/include/lclient.h
lustre/lclient/lcommon_cl.c
lustre/liblustre/llite_cl.c
lustre/llite/llite_internal.h
lustre/llite/lproc_llite.c
lustre/llite/rw.c
lustre/llite/vvp_io.c
lustre/llite/vvp_page.c
lustre/lov/lov_cl_internal.h
lustre/lov/lov_internal.h
lustre/lov/lov_io.c
lustre/lov/lov_offset.c
lustre/lov/lov_page.c
lustre/lov/lovsub_page.c
lustre/obdclass/cl_io.c
lustre/obdclass/cl_page.c
lustre/obdecho/echo_client.c
lustre/osc/osc_page.c