[LU-925] land Async Glimpse Lock (AGL) to master to pre-fetch size/block attributes from OSTs for statahead Created: 14/Dec/11  Updated: 27/Jul/12  Resolved: 27/Jul/12

Status: Resolved
Project: Lustre
Component/s: None
Affects Version/s: Lustre 2.2.0
Fix Version/s: Lustre 2.2.0

Type: Task Priority: Major
Reporter: Andreas Dilger Assignee: nasf (Inactive)
Resolution: Fixed Votes: 0
Labels: None

Attachments: PDF File Statahead_and_AGL.pdf     Text File meta-test-100k-2.2.91.txt     Text File meta-test-1600k-2.2.91-LU925.txt    
Issue Links:
Related
Story Points: 2
Rank (Obsolete): 4772

 Description   

Lustre-2.x supports statahead, which pre-fetches object's attributes (like owner/mode/xtime/ACL, etc) from MDS, then most MDS-side RPCs are overlapped with other traversing process. But there is not file size/block attributes pre-fetching, the traversing thread has to send synchronous glimpse size RPC to OST(s) for that by itself. Before SOM is available, we should consider asynchronous glimpse size for per-fetching size/block attributes from OST(s). This

http://review.whamcloud.com/#change,1243



 Comments   
Comment by nasf (Inactive) [ 20/Dec/11 ]

These are the patches:

http://review.whamcloud.com/#change,1692
http://review.whamcloud.com/#change,1243

Comment by Build Master (Inactive) [ 04/Jan/12 ]

Integrated in lustre-master » x86_64,client,el6,inkernel #405
LU-925 agl: trigger async glimpse lock when statahead (Revision 51b1da4054704d0e115ddb2c8857c5a84c7ed958)

Result = SUCCESS
Oleg Drokin : 51b1da4054704d0e115ddb2c8857c5a84c7ed958
Files :

  • lustre/llite/llite_internal.h
  • lustre/llite/statahead.c
  • lustre/llite/llite_lib.c
  • lustre/llite/namei.c
  • lustre/llite/lproc_llite.c
  • lustre/llite/llite_mmap.c
  • lustre/llite/file.c
Comment by Build Master (Inactive) [ 04/Jan/12 ]

Integrated in lustre-master » x86_64,server,el5,ofa #405
LU-925 agl: trigger async glimpse lock when statahead (Revision 51b1da4054704d0e115ddb2c8857c5a84c7ed958)

Result = SUCCESS
Oleg Drokin : 51b1da4054704d0e115ddb2c8857c5a84c7ed958
Files :

  • lustre/llite/namei.c
  • lustre/llite/lproc_llite.c
  • lustre/llite/statahead.c
  • lustre/llite/llite_mmap.c
  • lustre/llite/file.c
  • lustre/llite/llite_internal.h
  • lustre/llite/llite_lib.c
Comment by Build Master (Inactive) [ 04/Jan/12 ]

Integrated in lustre-master » i686,server,el6,inkernel #405
LU-925 agl: trigger async glimpse lock when statahead (Revision 51b1da4054704d0e115ddb2c8857c5a84c7ed958)

Result = SUCCESS
Oleg Drokin : 51b1da4054704d0e115ddb2c8857c5a84c7ed958
Files :

  • lustre/llite/statahead.c
  • lustre/llite/llite_lib.c
  • lustre/llite/namei.c
  • lustre/llite/lproc_llite.c
  • lustre/llite/llite_internal.h
  • lustre/llite/llite_mmap.c
  • lustre/llite/file.c
Comment by Build Master (Inactive) [ 04/Jan/12 ]

Integrated in lustre-master » x86_64,client,el5,inkernel #405
LU-925 agl: trigger async glimpse lock when statahead (Revision 51b1da4054704d0e115ddb2c8857c5a84c7ed958)

Result = SUCCESS
Oleg Drokin : 51b1da4054704d0e115ddb2c8857c5a84c7ed958
Files :

  • lustre/llite/file.c
  • lustre/llite/statahead.c
  • lustre/llite/llite_lib.c
  • lustre/llite/llite_internal.h
  • lustre/llite/namei.c
  • lustre/llite/lproc_llite.c
  • lustre/llite/llite_mmap.c
Comment by Build Master (Inactive) [ 04/Jan/12 ]

Integrated in lustre-master » x86_64,client,el5,ofa #405
LU-925 agl: trigger async glimpse lock when statahead (Revision 51b1da4054704d0e115ddb2c8857c5a84c7ed958)

Result = SUCCESS
Oleg Drokin : 51b1da4054704d0e115ddb2c8857c5a84c7ed958
Files :

  • lustre/llite/llite_lib.c
  • lustre/llite/file.c
  • lustre/llite/namei.c
  • lustre/llite/statahead.c
  • lustre/llite/llite_internal.h
  • lustre/llite/llite_mmap.c
  • lustre/llite/lproc_llite.c
Comment by Build Master (Inactive) [ 04/Jan/12 ]

Integrated in lustre-master » x86_64,client,sles11,inkernel #405
LU-925 agl: trigger async glimpse lock when statahead (Revision 51b1da4054704d0e115ddb2c8857c5a84c7ed958)

Result = SUCCESS
Oleg Drokin : 51b1da4054704d0e115ddb2c8857c5a84c7ed958
Files :

  • lustre/llite/llite_lib.c
  • lustre/llite/lproc_llite.c
  • lustre/llite/llite_internal.h
  • lustre/llite/namei.c
  • lustre/llite/file.c
  • lustre/llite/statahead.c
  • lustre/llite/llite_mmap.c
Comment by Build Master (Inactive) [ 04/Jan/12 ]

Integrated in lustre-master » x86_64,server,el6,inkernel #405
LU-925 agl: trigger async glimpse lock when statahead (Revision 51b1da4054704d0e115ddb2c8857c5a84c7ed958)

Result = SUCCESS
Oleg Drokin : 51b1da4054704d0e115ddb2c8857c5a84c7ed958
Files :

  • lustre/llite/llite_internal.h
  • lustre/llite/llite_lib.c
  • lustre/llite/file.c
  • lustre/llite/lproc_llite.c
  • lustre/llite/llite_mmap.c
  • lustre/llite/namei.c
  • lustre/llite/statahead.c
Comment by Build Master (Inactive) [ 04/Jan/12 ]

Integrated in lustre-master » i686,client,el6,inkernel #405
LU-925 agl: trigger async glimpse lock when statahead (Revision 51b1da4054704d0e115ddb2c8857c5a84c7ed958)

Result = SUCCESS
Oleg Drokin : 51b1da4054704d0e115ddb2c8857c5a84c7ed958
Files :

  • lustre/llite/file.c
  • lustre/llite/namei.c
  • lustre/llite/llite_lib.c
  • lustre/llite/llite_internal.h
  • lustre/llite/lproc_llite.c
  • lustre/llite/statahead.c
  • lustre/llite/llite_mmap.c
Comment by Build Master (Inactive) [ 04/Jan/12 ]

Integrated in lustre-master » x86_64,server,el5,inkernel #405
LU-925 agl: trigger async glimpse lock when statahead (Revision 51b1da4054704d0e115ddb2c8857c5a84c7ed958)

Result = SUCCESS
Oleg Drokin : 51b1da4054704d0e115ddb2c8857c5a84c7ed958
Files :

  • lustre/llite/statahead.c
  • lustre/llite/llite_lib.c
  • lustre/llite/llite_internal.h
  • lustre/llite/lproc_llite.c
  • lustre/llite/file.c
  • lustre/llite/namei.c
  • lustre/llite/llite_mmap.c
Comment by Build Master (Inactive) [ 04/Jan/12 ]

Integrated in lustre-master » x86_64,client,ubuntu1004,inkernel #405
LU-925 agl: trigger async glimpse lock when statahead (Revision 51b1da4054704d0e115ddb2c8857c5a84c7ed958)

Result = SUCCESS
Oleg Drokin : 51b1da4054704d0e115ddb2c8857c5a84c7ed958
Files :

  • lustre/llite/lproc_llite.c
  • lustre/llite/statahead.c
  • lustre/llite/llite_internal.h
  • lustre/llite/namei.c
  • lustre/llite/llite_mmap.c
  • lustre/llite/llite_lib.c
  • lustre/llite/file.c
Comment by Build Master (Inactive) [ 04/Jan/12 ]

Integrated in lustre-master » i686,server,el5,ofa #405
LU-925 agl: trigger async glimpse lock when statahead (Revision 51b1da4054704d0e115ddb2c8857c5a84c7ed958)

Result = SUCCESS
Oleg Drokin : 51b1da4054704d0e115ddb2c8857c5a84c7ed958
Files :

  • lustre/llite/statahead.c
  • lustre/llite/llite_internal.h
  • lustre/llite/llite_lib.c
  • lustre/llite/file.c
  • lustre/llite/llite_mmap.c
  • lustre/llite/namei.c
  • lustre/llite/lproc_llite.c
Comment by Build Master (Inactive) [ 04/Jan/12 ]

Integrated in lustre-master » i686,server,el5,inkernel #405
LU-925 agl: trigger async glimpse lock when statahead (Revision 51b1da4054704d0e115ddb2c8857c5a84c7ed958)

Result = SUCCESS
Oleg Drokin : 51b1da4054704d0e115ddb2c8857c5a84c7ed958
Files :

  • lustre/llite/llite_internal.h
  • lustre/llite/file.c
  • lustre/llite/namei.c
  • lustre/llite/llite_lib.c
  • lustre/llite/statahead.c
  • lustre/llite/llite_mmap.c
  • lustre/llite/lproc_llite.c
Comment by Build Master (Inactive) [ 04/Jan/12 ]

Integrated in lustre-master » i686,client,el5,inkernel #405
LU-925 agl: trigger async glimpse lock when statahead (Revision 51b1da4054704d0e115ddb2c8857c5a84c7ed958)

Result = SUCCESS
Oleg Drokin : 51b1da4054704d0e115ddb2c8857c5a84c7ed958
Files :

  • lustre/llite/namei.c
  • lustre/llite/llite_mmap.c
  • lustre/llite/llite_internal.h
  • lustre/llite/lproc_llite.c
  • lustre/llite/file.c
  • lustre/llite/statahead.c
  • lustre/llite/llite_lib.c
Comment by Build Master (Inactive) [ 04/Jan/12 ]

Integrated in lustre-master » i686,client,el5,ofa #405
LU-925 agl: trigger async glimpse lock when statahead (Revision 51b1da4054704d0e115ddb2c8857c5a84c7ed958)

Result = SUCCESS
Oleg Drokin : 51b1da4054704d0e115ddb2c8857c5a84c7ed958
Files :

  • lustre/llite/namei.c
  • lustre/llite/statahead.c
  • lustre/llite/lproc_llite.c
  • lustre/llite/file.c
  • lustre/llite/llite_mmap.c
  • lustre/llite/llite_internal.h
  • lustre/llite/llite_lib.c
Comment by Build Master (Inactive) [ 10/Jan/12 ]

Integrated in lustre-master » x86_64,client,el5,ofa #418
LU-925 agl: async glimpse lock process in CLIO stack (Revision 6f5813d36102a19f314c9aab409972e8a9f1112b)

Result = FAILURE
Oleg Drokin : 6f5813d36102a19f314c9aab409972e8a9f1112b
Files :

  • lustre/llite/statahead.c
  • lustre/include/lustre_dlm.h
  • lustre/include/lclient.h
  • lustre/include/obd_ost.h
  • lustre/include/obd_support.h
  • lustre/lclient/lcommon_cl.c
  • lustre/osc/osc_cl_internal.h
  • lustre/tests/sanity.sh
  • lustre/osc/osc_internal.h
  • lustre/obdfilter/filter.c
  • lustre/osc/osc_lock.c
  • lustre/lclient/glimpse.c
  • lustre/osc/osc_request.c
  • lustre/obdclass/cl_lock.c
  • lustre/include/cl_object.h
  • lustre/ldlm/ldlm_lock.c
  • lustre/lov/lov_lock.c
Comment by Build Master (Inactive) [ 10/Jan/12 ]

Integrated in lustre-master » x86_64,server,el5,ofa #418
LU-925 agl: async glimpse lock process in CLIO stack (Revision 6f5813d36102a19f314c9aab409972e8a9f1112b)

Result = FAILURE
Oleg Drokin : 6f5813d36102a19f314c9aab409972e8a9f1112b
Files :

  • lustre/include/lustre_dlm.h
  • lustre/osc/osc_cl_internal.h
  • lustre/osc/osc_request.c
  • lustre/include/lclient.h
  • lustre/tests/sanity.sh
  • lustre/osc/osc_internal.h
  • lustre/lov/lov_lock.c
  • lustre/ldlm/ldlm_lock.c
  • lustre/lclient/lcommon_cl.c
  • lustre/obdfilter/filter.c
  • lustre/obdclass/cl_lock.c
  • lustre/include/obd_ost.h
  • lustre/llite/statahead.c
  • lustre/include/cl_object.h
  • lustre/include/obd_support.h
  • lustre/lclient/glimpse.c
  • lustre/osc/osc_lock.c
Comment by Build Master (Inactive) [ 10/Jan/12 ]

Integrated in lustre-master » x86_64,client,el5,inkernel #418
LU-925 agl: async glimpse lock process in CLIO stack (Revision 6f5813d36102a19f314c9aab409972e8a9f1112b)

Result = SUCCESS
Oleg Drokin : 6f5813d36102a19f314c9aab409972e8a9f1112b
Files :

  • lustre/lclient/glimpse.c
  • lustre/osc/osc_lock.c
  • lustre/lov/lov_lock.c
  • lustre/obdfilter/filter.c
  • lustre/osc/osc_internal.h
  • lustre/osc/osc_cl_internal.h
  • lustre/llite/statahead.c
  • lustre/include/obd_support.h
  • lustre/ldlm/ldlm_lock.c
  • lustre/include/lustre_dlm.h
  • lustre/osc/osc_request.c
  • lustre/lclient/lcommon_cl.c
  • lustre/include/lclient.h
  • lustre/obdclass/cl_lock.c
  • lustre/include/cl_object.h
  • lustre/include/obd_ost.h
  • lustre/tests/sanity.sh
Comment by Build Master (Inactive) [ 10/Jan/12 ]

Integrated in lustre-master » i686,server,el5,ofa #418
LU-925 agl: async glimpse lock process in CLIO stack (Revision 6f5813d36102a19f314c9aab409972e8a9f1112b)

Result = FAILURE
Oleg Drokin : 6f5813d36102a19f314c9aab409972e8a9f1112b
Files :

  • lustre/osc/osc_request.c
  • lustre/osc/osc_internal.h
  • lustre/osc/osc_cl_internal.h
  • lustre/lclient/lcommon_cl.c
  • lustre/obdclass/cl_lock.c
  • lustre/include/lustre_dlm.h
  • lustre/llite/statahead.c
  • lustre/osc/osc_lock.c
  • lustre/include/lclient.h
  • lustre/lov/lov_lock.c
  • lustre/ldlm/ldlm_lock.c
  • lustre/include/obd_support.h
  • lustre/tests/sanity.sh
  • lustre/include/cl_object.h
  • lustre/obdfilter/filter.c
  • lustre/include/obd_ost.h
  • lustre/lclient/glimpse.c
Comment by Build Master (Inactive) [ 10/Jan/12 ]

Integrated in lustre-master » x86_64,server,el6,inkernel #418
LU-925 agl: async glimpse lock process in CLIO stack (Revision 6f5813d36102a19f314c9aab409972e8a9f1112b)

Result = SUCCESS
Oleg Drokin : 6f5813d36102a19f314c9aab409972e8a9f1112b
Files :

  • lustre/include/lustre_dlm.h
  • lustre/osc/osc_request.c
  • lustre/include/cl_object.h
  • lustre/osc/osc_cl_internal.h
  • lustre/lov/lov_lock.c
  • lustre/include/obd_support.h
  • lustre/include/obd_ost.h
  • lustre/lclient/glimpse.c
  • lustre/include/lclient.h
  • lustre/obdclass/cl_lock.c
  • lustre/osc/osc_internal.h
  • lustre/llite/statahead.c
  • lustre/tests/sanity.sh
  • lustre/osc/osc_lock.c
  • lustre/ldlm/ldlm_lock.c
  • lustre/obdfilter/filter.c
  • lustre/lclient/lcommon_cl.c
Comment by Build Master (Inactive) [ 10/Jan/12 ]

Integrated in lustre-master » i686,server,el6,inkernel #418
LU-925 agl: async glimpse lock process in CLIO stack (Revision 6f5813d36102a19f314c9aab409972e8a9f1112b)

Result = SUCCESS
Oleg Drokin : 6f5813d36102a19f314c9aab409972e8a9f1112b
Files :

  • lustre/obdclass/cl_lock.c
  • lustre/tests/sanity.sh
  • lustre/obdfilter/filter.c
  • lustre/lclient/glimpse.c
  • lustre/include/lustre_dlm.h
  • lustre/lclient/lcommon_cl.c
  • lustre/osc/osc_lock.c
  • lustre/llite/statahead.c
  • lustre/lov/lov_lock.c
  • lustre/osc/osc_request.c
  • lustre/include/cl_object.h
  • lustre/include/lclient.h
  • lustre/osc/osc_internal.h
  • lustre/include/obd_ost.h
  • lustre/include/obd_support.h
  • lustre/ldlm/ldlm_lock.c
  • lustre/osc/osc_cl_internal.h
Comment by Build Master (Inactive) [ 10/Jan/12 ]

Integrated in lustre-master » x86_64,client,sles11,inkernel #418
LU-925 agl: async glimpse lock process in CLIO stack (Revision 6f5813d36102a19f314c9aab409972e8a9f1112b)

Result = SUCCESS
Oleg Drokin : 6f5813d36102a19f314c9aab409972e8a9f1112b
Files :

  • lustre/obdfilter/filter.c
  • lustre/osc/osc_internal.h
  • lustre/include/obd_support.h
  • lustre/include/lclient.h
  • lustre/obdclass/cl_lock.c
  • lustre/tests/sanity.sh
  • lustre/llite/statahead.c
  • lustre/osc/osc_request.c
  • lustre/include/obd_ost.h
  • lustre/ldlm/ldlm_lock.c
  • lustre/lclient/glimpse.c
  • lustre/lclient/lcommon_cl.c
  • lustre/osc/osc_cl_internal.h
  • lustre/lov/lov_lock.c
  • lustre/osc/osc_lock.c
  • lustre/include/lustre_dlm.h
  • lustre/include/cl_object.h
Comment by Build Master (Inactive) [ 10/Jan/12 ]

Integrated in lustre-master » x86_64,client,el6,inkernel #418
LU-925 agl: async glimpse lock process in CLIO stack (Revision 6f5813d36102a19f314c9aab409972e8a9f1112b)

Result = SUCCESS
Oleg Drokin : 6f5813d36102a19f314c9aab409972e8a9f1112b
Files :

  • lustre/include/cl_object.h
  • lustre/include/obd_support.h
  • lustre/osc/osc_lock.c
  • lustre/ldlm/ldlm_lock.c
  • lustre/obdclass/cl_lock.c
  • lustre/osc/osc_request.c
  • lustre/lclient/lcommon_cl.c
  • lustre/include/lustre_dlm.h
  • lustre/lov/lov_lock.c
  • lustre/osc/osc_cl_internal.h
  • lustre/tests/sanity.sh
  • lustre/lclient/glimpse.c
  • lustre/osc/osc_internal.h
  • lustre/include/obd_ost.h
  • lustre/include/lclient.h
  • lustre/llite/statahead.c
  • lustre/obdfilter/filter.c
Comment by Build Master (Inactive) [ 10/Jan/12 ]

Integrated in lustre-master » x86_64,client,ubuntu1004,inkernel #418
LU-925 agl: async glimpse lock process in CLIO stack (Revision 6f5813d36102a19f314c9aab409972e8a9f1112b)

Result = SUCCESS
Oleg Drokin : 6f5813d36102a19f314c9aab409972e8a9f1112b
Files :

  • lustre/osc/osc_lock.c
  • lustre/osc/osc_internal.h
  • lustre/tests/sanity.sh
  • lustre/include/obd_ost.h
  • lustre/ldlm/ldlm_lock.c
  • lustre/include/cl_object.h
  • lustre/lclient/lcommon_cl.c
  • lustre/include/lclient.h
  • lustre/include/obd_support.h
  • lustre/lclient/glimpse.c
  • lustre/osc/osc_request.c
  • lustre/lov/lov_lock.c
  • lustre/osc/osc_cl_internal.h
  • lustre/include/lustre_dlm.h
  • lustre/obdfilter/filter.c
  • lustre/llite/statahead.c
  • lustre/obdclass/cl_lock.c
Comment by Build Master (Inactive) [ 10/Jan/12 ]

Integrated in lustre-master » x86_64,server,el5,inkernel #418
LU-925 agl: async glimpse lock process in CLIO stack (Revision 6f5813d36102a19f314c9aab409972e8a9f1112b)

Result = SUCCESS
Oleg Drokin : 6f5813d36102a19f314c9aab409972e8a9f1112b
Files :

  • lustre/include/lustre_dlm.h
  • lustre/osc/osc_lock.c
  • lustre/include/obd_support.h
  • lustre/include/obd_ost.h
  • lustre/llite/statahead.c
  • lustre/obdclass/cl_lock.c
  • lustre/osc/osc_request.c
  • lustre/include/cl_object.h
  • lustre/include/lclient.h
  • lustre/osc/osc_cl_internal.h
  • lustre/lclient/glimpse.c
  • lustre/ldlm/ldlm_lock.c
  • lustre/lov/lov_lock.c
  • lustre/lclient/lcommon_cl.c
  • lustre/obdfilter/filter.c
  • lustre/osc/osc_internal.h
  • lustre/tests/sanity.sh
Comment by Build Master (Inactive) [ 10/Jan/12 ]

Integrated in lustre-master » i686,client,el6,inkernel #418
LU-925 agl: async glimpse lock process in CLIO stack (Revision 6f5813d36102a19f314c9aab409972e8a9f1112b)

Result = SUCCESS
Oleg Drokin : 6f5813d36102a19f314c9aab409972e8a9f1112b
Files :

  • lustre/lclient/lcommon_cl.c
  • lustre/ldlm/ldlm_lock.c
  • lustre/lov/lov_lock.c
  • lustre/osc/osc_lock.c
  • lustre/include/lustre_dlm.h
  • lustre/llite/statahead.c
  • lustre/include/obd_support.h
  • lustre/osc/osc_internal.h
  • lustre/include/lclient.h
  • lustre/osc/osc_request.c
  • lustre/lclient/glimpse.c
  • lustre/osc/osc_cl_internal.h
  • lustre/include/cl_object.h
  • lustre/tests/sanity.sh
  • lustre/include/obd_ost.h
  • lustre/obdclass/cl_lock.c
  • lustre/obdfilter/filter.c
Comment by Build Master (Inactive) [ 10/Jan/12 ]

Integrated in lustre-master » i686,server,el5,inkernel #418
LU-925 agl: async glimpse lock process in CLIO stack (Revision 6f5813d36102a19f314c9aab409972e8a9f1112b)

Result = SUCCESS
Oleg Drokin : 6f5813d36102a19f314c9aab409972e8a9f1112b
Files :

  • lustre/osc/osc_request.c
  • lustre/obdclass/cl_lock.c
  • lustre/include/lustre_dlm.h
  • lustre/osc/osc_internal.h
  • lustre/tests/sanity.sh
  • lustre/include/obd_support.h
  • lustre/include/lclient.h
  • lustre/osc/osc_cl_internal.h
  • lustre/include/obd_ost.h
  • lustre/lov/lov_lock.c
  • lustre/obdfilter/filter.c
  • lustre/ldlm/ldlm_lock.c
  • lustre/osc/osc_lock.c
  • lustre/lclient/glimpse.c
  • lustre/lclient/lcommon_cl.c
  • lustre/llite/statahead.c
  • lustre/include/cl_object.h
Comment by Build Master (Inactive) [ 10/Jan/12 ]

Integrated in lustre-master » i686,client,el5,inkernel #418
LU-925 agl: async glimpse lock process in CLIO stack (Revision 6f5813d36102a19f314c9aab409972e8a9f1112b)

Result = SUCCESS
Oleg Drokin : 6f5813d36102a19f314c9aab409972e8a9f1112b
Files :

  • lustre/include/obd_ost.h
  • lustre/tests/sanity.sh
  • lustre/llite/statahead.c
  • lustre/include/lclient.h
  • lustre/lov/lov_lock.c
  • lustre/osc/osc_lock.c
  • lustre/include/lustre_dlm.h
  • lustre/ldlm/ldlm_lock.c
  • lustre/osc/osc_internal.h
  • lustre/lclient/lcommon_cl.c
  • lustre/include/cl_object.h
  • lustre/lclient/glimpse.c
  • lustre/obdfilter/filter.c
  • lustre/obdclass/cl_lock.c
  • lustre/osc/osc_cl_internal.h
  • lustre/osc/osc_request.c
  • lustre/include/obd_support.h
Comment by Build Master (Inactive) [ 10/Jan/12 ]

Integrated in lustre-master » i686,client,el5,ofa #418
LU-925 agl: async glimpse lock process in CLIO stack (Revision 6f5813d36102a19f314c9aab409972e8a9f1112b)

Result = FAILURE
Oleg Drokin : 6f5813d36102a19f314c9aab409972e8a9f1112b
Files :

  • lustre/obdfilter/filter.c
  • lustre/include/lclient.h
  • lustre/lov/lov_lock.c
  • lustre/obdclass/cl_lock.c
  • lustre/tests/sanity.sh
  • lustre/osc/osc_request.c
  • lustre/include/lustre_dlm.h
  • lustre/lclient/lcommon_cl.c
  • lustre/include/obd_ost.h
  • lustre/osc/osc_lock.c
  • lustre/ldlm/ldlm_lock.c
  • lustre/include/obd_support.h
  • lustre/llite/statahead.c
  • lustre/osc/osc_cl_internal.h
  • lustre/osc/osc_internal.h
  • lustre/include/cl_object.h
  • lustre/lclient/glimpse.c
Comment by nasf (Inactive) [ 10/Jan/12 ]

The patches have been landed to lustre-2.2

http://review.whamcloud.com/#change,1692
http://review.whamcloud.com/#change,1243

Comment by James A Simmons [ 28/Jun/12 ]

New patch for AGL improvement in locking is at http://review.whamcloud.com/#change,3212

Comment by James A Simmons [ 25/Jul/12 ]

Here the results of Lustre 2.2.91 with LU-744 and LU-925 patch. This is the meta data test of how long stats take from a directory with over a 100K of files.

Comment by nasf (Inactive) [ 26/Jul/12 ]

Thanks James!
The result shows that the http://review.whamcloud.com/#change,3249 was helpful for improving related performance of traversing large directory.

Comment by James A Simmons [ 26/Jul/12 ]

After finishing the stat test I attempted to lauch a job this morning on the machine and it killed the node with:

[2012-07-26 08:07:19][c0-0c0s0n2]LustreError: 10556:0:(lov_lock.c:273:lov_subresult()) ASSERTION( rc <= 0 || rc == CLO_REPEAT || rc == CLO_WAIT ) failed:
[2012-07-26 08:07:19][c0-0c0s0n2]LustreError: 10556:0:(lov_lock.c:273:lov_subresult()) LBUG
[2012-07-26 08:07:19][c0-0c0s0n2]Pid: 10556, comm: ls
[2012-07-26 08:07:19][c0-0c0s0n2]Call Trace:
[2012-07-26 08:07:19][c0-0c0s0n2] [<ffffffff810072e9>] try_stack_unwind+0x149/0x190
[2012-07-26 08:07:19][c0-0c0s0n2] [<ffffffff81005ca0>] dump_trace+0x90/0x300
[2012-07-26 08:07:19][c0-0c0s0n2] [<ffffffffa01237d2>] libcfs_debug_dumpstack+0x52/0x80 [libcfs]
[2012-07-26 08:07:19][c0-0c0s0n2] [<ffffffffa0123dc2>] lbug_with_loc+0x42/0xa0 [libcfs]
[2012-07-26 08:07:19][c0-0c0s0n2] [<ffffffffa07a7ff1>] lov_subresult+0x181/0x190 [lov]
[2012-07-26 08:07:19][c0-0c0s0n2] [<ffffffffa07ab2bf>] lov_lock_enqueue+0xcf/0x7c0 [lov]
[2012-07-26 08:07:19][c0-0c0s0n2] [<ffffffffa0392b3e>] cl_enqueue_try+0x12e/0x310 [obdclass]
[2012-07-26 08:07:19][c0-0c0s0n2] [<ffffffffa0395347>] cl_enqueue_locked+0x77/0x1e0 [obdclass]
[2012-07-26 08:07:19][c0-0c0s0n2] [<ffffffffa039560e>] cl_lock_request+0x15e/0x260 [obdclass]
[2012-07-26 08:07:19][c0-0c0s0n2] [<ffffffffa08e1185>] cl_glimpse_lock+0x155/0x4b0 [lustre]
[2012-07-26 08:07:19][c0-0c0s0n2] [<ffffffffa08e1732>] cl_glimpse_size0+0x172/0x180 [lustre]
[2012-07-26 08:07:19][c0-0c0s0n2] [<ffffffffa089b7a8>] ll_inode_revalidate_it+0xf8/0x1a0 [lustre]
[2012-07-26 08:07:19][c0-0c0s0n2] [<ffffffffa089b894>] ll_getattr_it+0x44/0x170 [lustre]
[2012-07-26 08:07:19][c0-0c0s0n2] [<ffffffffa089b9fc>] ll_getattr+0x3c/0x40 [lustre]
[2012-07-26 08:07:19][c0-0c0s0n2] [<ffffffff810fdd03>] vfs_getattr+0x23/0x40
[2012-07-26 08:07:19][c0-0c0s0n2] [<ffffffff810fe028>] vfs_fstatat+0x68/0x80
[2012-07-26 08:07:19][c0-0c0s0n2] [<ffffffff810fe059>] vfs_lstat+0x19/0x20
[2012-07-26 08:07:19][c0-0c0s0n2] [<ffffffff810fe1df>] sys_newlstat+0x1f/0x50
[2012-07-26 08:07:19][c0-0c0[2012-07-26 08:07:19][c0-0c0s0n2] [<00007f901dea36c5>] 0x7f901dea36c5
[2012-07-26 08:07:19][c0-0c0s0n2]Kernel panic - not syncing: LBUG
[2012-07-26 08:07:19][c0-0c0s0n2]Pid: 10556, comm: ls Tainted: P 2.6.32.45-0.3.2_1.0400.6453-cray_gem_s #1
[2012-07-26 08:07:19][c0-0c0s0n2]Call Trace:
[2012-07-26 08:07:19][c0-0c0s0n2] [<ffffffff810072e9>] try_stack_unwind+0x149/0x190
[2012-07-26 08:07:19][c0-0c0s0n2] [<ffffffff81005ca0>] dump_trace+0x90/0x300
[2012-07-26 08:07:19][c0-0c0s0n2] [<ffffffff81006e37>] show_trace_log_lvl+0x57/0x70
[2012-07-26 08:07:19][c0-0c0s0n2] [<ffffffff81006e60>] show_trace+0x10/0x20
[2012-07-26 08:07:19][c0-0c0s0n2] [<ffffffff8140319c>] dump_stack+0x72/0x7b
[2012-07-26 08:07:19][c0-0c0s0n2] [<ffffffff8140321a>] panic+0x75/0x13d
[2012-07-26 08:07:19][c0-0c0s0n2] [<ffffffffa0123e13>] lbug_with_loc+0x93/0xa0 [libcfs]
[2012-07-26 08:07:19][c0-0c0s0n2] [<ffffffffa07a7ff1>] lov_subresult+0x181/0x190 [lov]
[2012-07-26 08:07:19][c0-0c0s0n2] [<ffffffffa07ab2bf>] lov_lock_enqueue+0xcf/0x7c0 [lov]
[2012-07-26 08:07:19][c0-0c0s0n2] [<ffffffffa0392b3e>] cl_enqueue_try+0x12e/0x310 [obdclass]
[2012-07-26 08:07:19][c0-0c0s0n2] [<ffffffffa0395347>] cl_enqueue_locked+0x77/0x1e0 [obdclass]
[2012-07-26 08:07:19][c0-0c0s0n2] [<ffffffffa039560e>] cl_lock_request+0x15e/0x260 [obdclass]
[2012-07-26 08:07:19][c0-0c0s0n2] [<ffffffffa08e1185>] cl_glimpse_lock+0x155/0x4b0 [lustre]
[2012-07-26 08:07:19][c0-0c0s0n2] [<ffffffffa08e1732>] cl_glimpse_size0+0x172/0x180 [lustre]
[2012-07-26 08:07:19][c0-0c0s0n2] [<ffffffffa089b7a8>] ll_inode_revalidate_it+0xf8/0x1a0 [lustre]
[2012-07-26 08:07:19][c0-0c0s0n2] [<ffffffffa089b894>] ll_getattr_it+0x44/0x170 [lustre]
[2012-07-26 08:07:19][c0-0c0s0n2] [<ffffffffa089b9fc>] ll_getattr+0x3c/0x40 [lustre]
[2012-07-26 08:07:19][c0-0c0s0n2] [<ffffffff810fdd03>] vfs_getattr+0x23/0x40
[2012-07-26 08:07:19][c0-0c0s0n2] [<ffffffff810fe028>] vfs_fstatat+0x68/0x80
s0n2] [<ffffffff8100272b>] system_call_fastpath+0x16/0x1b
[2012-07-26 08:07:19][c0-0c0s0n2] [<00007f901dea36c5>] 0x7f901dea36c5
[2012-07-26 08:09:32][c0-0c0s0n3]BUG: unable to handle kernel NULL pointer dereference at 000000000000028e

Comment by James A Simmons [ 26/Jul/12 ]

Results for the 1.6 millon files per directory states.

Comment by nasf (Inactive) [ 26/Jul/12 ]

There is LBUG for AGL patches. Reopen for fixing.

Comment by nasf (Inactive) [ 26/Jul/12 ]

Thanks James!

For 1600K files test, the Lustre 2.2.91 file system is with the patch of http://review.whamcloud.com/#change,3249, or not?

Comment by James A Simmons [ 26/Jul/12 ]

Yes, all results so far are with the patch. I'm going to collect some more data then collect data for the case of no LU-925 patch.

Comment by nasf (Inactive) [ 26/Jul/12 ]

It seems with large striping (16 or more), AGL works well for 100K files, but not well for 1600K files.

Comment by nasf (Inactive) [ 26/Jul/12 ]

The patch for above LASSERT:

http://review.whamcloud.com/#change,3479

Comment by James A Simmons [ 26/Jul/12 ]

Did another run with the patch for the LASSERT fix. Now I get this LBUG

[2012-07-26 15:10:40][c0-0c0s0n2]LustreError: 6383:0:(cl_lock.c:1462:cl_wait_try()) ASSERTION( lock->cll_state == CLS_ENQUEUED || lock->cll_state == CLS_HELD || l
ock->cll_state == CLS_INTRANSIT ) failed:
[2012-07-26 15:10:40][c0-0c0s0n2]LustreError: 6383:0:(cl_lock.c:1462:cl_wait_try()) LBUG
[2012-07-26 15:10:40][c0-0c0s0n2]Pid: 6383, comm: ll_sa_6382
[2012-07-26 15:10:40][c0-0c0s0n2]Call Trace:
[2012-07-26 15:10:40][c0-0c0s0n2] [<ffffffff810072e9>] try_stack_unwind+0x149/0x190
[2012-07-26 15:10:40][c0-0c0s0n2] [<ffffffff81005ca0>] dump_trace+0x90/0x300
[2012-07-26 15:10:40][c0-0c0s0n2] [<ffffffffa01237d2>] libcfs_debug_dumpstack+0x52/0x80 [libcfs]
[2012-07-26 15:10:40][c0-0c0s0n2] [<ffffffffa0123dc2>] lbug_with_loc+0x42/0xa0 [libcfs]
[2012-07-26 15:10:40][c0-0c0s0n2] [<ffffffffa03905d0>] cl_wait_try+0x1e0/0x300 [obdclass]
[2012-07-26 15:10:40][c0-0c0s0n2] [<ffffffffa06ff223>] osc_lock_upcall+0x1f3/0x610 [osc]
[2012-07-26 15:10:40][c0-0c0s0n2] [<ffffffffa06de262>] osc_enqueue_base+0x2e2/0x560 [osc]
[2012-07-26 15:10:40][c0-0c0s0n2] [<ffffffffa06fdf93>] osc_lock_enqueue+0x223/0x8d0 [osc]
[2012-07-26 15:10:40][c0-0c0s0n2] [<ffffffffa0392b3e>] cl_enqueue_try+0x12e/0x310 [obdclass]
[2012-07-26 15:10:40][c0-0c0s0n2] [<ffffffffa07ac36e>] lov_lock_enqueue+0x17e/0x7e0 [lov]
[2012-07-26 15:10:40][c0-0c0s0n2] [<ffffffffa0392b3e>] cl_enqueue_try+0x12e/0x310 [obdclass]
[2012-07-26 15:10:40][c0-0c0s0n2] [<ffffffffa0395347>] cl_enqueue_locked+0x77/0x1e0 [obdclass]
[2012-07-26 15:10:40][c0-0c0s0n2] [<ffffffffa039560e>] cl_lock_request+0x15e/0x260 [obdclass]
[2012-07-26 15:10:40][c0-0c0s0n2] [<ffffffffa08e2185>] cl_glimpse_lock+0x155/0x4b0 [lustre]
[2012-07-26 15:10:40][c0-0c0s0n2] [<ffffffffa08e2732>] cl_glimpse_size0+0x172/0x180 [lustre]
[2012-07-26 15:10:40][c0-0c0s0n2] [<ffffffffa08db1f3>] ll_agl_trigger+0xb3/0x340 [lustre]
[2012-07-26 15:10:40][c0-0c0s0n2] [<ffffffffa08dfe85>] ll_statahead_thread+0x455/0x25a0 [lustre]
[2012-07-26 15:10:40][c0-0c0s0n2] [<ffffffff810035ba>] child_rip+0xa/0x20
[2012-07-26 15:10:40][c0-0c0s0n2]Kernel panic - not syncing: LBUG

Comment by nasf (Inactive) [ 26/Jul/12 ]

If your run does not contain the patch http://review.whamcloud.com/#change,3249, then above LBUG is not out of the expectation. Otherwise, I need more investigation.

Would you please to test with the following two patches both applied when you have time? Thanks!

http://review.whamcloud.com/#change,3249
http://review.whamcloud.com/#change,3479 (set 2 or newer)

Comment by nasf (Inactive) [ 27/Jul/12 ]

A new ticket for AGL bugs tracing is opened:

http://jira.whamcloud.com/browse/LU-1683

All AGL related bugs will be moved to such ticket from now on.

Generated at Sat Feb 10 01:11:45 UTC 2024 using Jira 9.4.14#940014-sha1:734e6822bbf0d45eff9af51f82432957f73aa32c.