[LU-555] ll_have_md_lock() code optimization Created: 29/Jul/11  Updated: 05/Aug/20  Resolved: 26/Oct/11

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

Type: Improvement Priority: Minor
Reporter: CEA Assignee: Peter Jones
Resolution: Fixed Votes: 0
Labels: None

Rank (Obsolete): 4875

 Description   

Suggested by Andreas:
in ll_md_blocking_ast(), Instead of doing multiple searches for these lock bits, it makes more sense to change ll_have_md_lock() to take "&bits" as the parameter (instead of a specific single bit), and then it can do a search on the first bit in the mask. If any lock is found, it can zero out all of the set lock bits in the lock from "&bits".

In the common case where there are multiple bits set in the lock this will avoid calling ll_have_md_lock->md_lock_match() multiple times for each file.



 Comments   
Comment by jacques-charles lafoucriere [ 29/Jul/11 ]

Please assign me this bug (I did not find how to take it)

Comment by Peter Jones [ 30/Jul/11 ]

JC

It seems that only Whamcloud engineers can be assigned tickets so I will assign it to myself even though you are really the owner.

Peter

Comment by Build Master (Inactive) [ 25/Oct/11 ]

Integrated in lustre-master » x86_64,server,el5,ofa #311
LU-555 ll_have_md_lock() optimization to accelerate multiple bits locks

Oleg Drokin : cc2836737d5401ad48e2aaf64db035d11e795ae5
Files :

  • lustre/llite/llite_capa.c
  • lustre/llite/dcache.c
  • lustre/llite/namei.c
  • lustre/llite/llite_internal.h
  • lustre/llite/file.c
Comment by Build Master (Inactive) [ 25/Oct/11 ]

Integrated in lustre-master » x86_64,client,el5,inkernel #311
LU-555 ll_have_md_lock() optimization to accelerate multiple bits locks

Oleg Drokin : cc2836737d5401ad48e2aaf64db035d11e795ae5
Files :

  • lustre/llite/namei.c
  • lustre/llite/dcache.c
  • lustre/llite/llite_capa.c
  • lustre/llite/llite_internal.h
  • lustre/llite/file.c
Comment by Build Master (Inactive) [ 25/Oct/11 ]

Integrated in lustre-master » i686,client,el6,inkernel #311
LU-555 ll_have_md_lock() optimization to accelerate multiple bits locks

Oleg Drokin : cc2836737d5401ad48e2aaf64db035d11e795ae5
Files :

  • lustre/llite/file.c
  • lustre/llite/llite_internal.h
  • lustre/llite/namei.c
  • lustre/llite/llite_capa.c
  • lustre/llite/dcache.c
Comment by Build Master (Inactive) [ 25/Oct/11 ]

Integrated in lustre-master » x86_64,server,el6,inkernel #311
LU-555 ll_have_md_lock() optimization to accelerate multiple bits locks

Oleg Drokin : cc2836737d5401ad48e2aaf64db035d11e795ae5
Files :

  • lustre/llite/llite_internal.h
  • lustre/llite/llite_capa.c
  • lustre/llite/dcache.c
  • lustre/llite/namei.c
  • lustre/llite/file.c
Comment by Build Master (Inactive) [ 25/Oct/11 ]

Integrated in lustre-master » x86_64,server,el5,inkernel #311
LU-555 ll_have_md_lock() optimization to accelerate multiple bits locks

Oleg Drokin : cc2836737d5401ad48e2aaf64db035d11e795ae5
Files :

  • lustre/llite/file.c
  • lustre/llite/llite_capa.c
  • lustre/llite/llite_internal.h
  • lustre/llite/namei.c
  • lustre/llite/dcache.c
Comment by Build Master (Inactive) [ 25/Oct/11 ]

Integrated in lustre-master » x86_64,client,sles11,inkernel #311
LU-555 ll_have_md_lock() optimization to accelerate multiple bits locks

Oleg Drokin : cc2836737d5401ad48e2aaf64db035d11e795ae5
Files :

  • lustre/llite/llite_capa.c
  • lustre/llite/file.c
  • lustre/llite/dcache.c
  • lustre/llite/namei.c
  • lustre/llite/llite_internal.h
Comment by Build Master (Inactive) [ 25/Oct/11 ]

Integrated in lustre-master » x86_64,client,ubuntu1004,inkernel #311
LU-555 ll_have_md_lock() optimization to accelerate multiple bits locks

Oleg Drokin : cc2836737d5401ad48e2aaf64db035d11e795ae5
Files :

  • lustre/llite/llite_internal.h
  • lustre/llite/llite_capa.c
  • lustre/llite/namei.c
  • lustre/llite/dcache.c
  • lustre/llite/file.c
Comment by Build Master (Inactive) [ 25/Oct/11 ]

Integrated in lustre-master » x86_64,client,el5,ofa #311
LU-555 ll_have_md_lock() optimization to accelerate multiple bits locks

Oleg Drokin : cc2836737d5401ad48e2aaf64db035d11e795ae5
Files :

  • lustre/llite/llite_internal.h
  • lustre/llite/namei.c
  • lustre/llite/llite_capa.c
  • lustre/llite/file.c
  • lustre/llite/dcache.c
Comment by Build Master (Inactive) [ 25/Oct/11 ]

Integrated in lustre-master » x86_64,client,el6,inkernel #311
LU-555 ll_have_md_lock() optimization to accelerate multiple bits locks

Oleg Drokin : cc2836737d5401ad48e2aaf64db035d11e795ae5
Files :

  • lustre/llite/namei.c
  • lustre/llite/llite_capa.c
  • lustre/llite/llite_internal.h
  • lustre/llite/dcache.c
  • lustre/llite/file.c
Comment by Build Master (Inactive) [ 25/Oct/11 ]

Integrated in lustre-master » i686,client,el5,ofa #311
LU-555 ll_have_md_lock() optimization to accelerate multiple bits locks

Oleg Drokin : cc2836737d5401ad48e2aaf64db035d11e795ae5
Files :

  • lustre/llite/llite_internal.h
  • lustre/llite/file.c
  • lustre/llite/namei.c
  • lustre/llite/llite_capa.c
  • lustre/llite/dcache.c
Comment by Build Master (Inactive) [ 25/Oct/11 ]

Integrated in lustre-master » i686,client,el5,inkernel #311
LU-555 ll_have_md_lock() optimization to accelerate multiple bits locks

Oleg Drokin : cc2836737d5401ad48e2aaf64db035d11e795ae5
Files :

  • lustre/llite/llite_capa.c
  • lustre/llite/file.c
  • lustre/llite/llite_internal.h
  • lustre/llite/dcache.c
  • lustre/llite/namei.c
Comment by Build Master (Inactive) [ 25/Oct/11 ]

Integrated in lustre-master » i686,server,el5,ofa #311
LU-555 ll_have_md_lock() optimization to accelerate multiple bits locks

Oleg Drokin : cc2836737d5401ad48e2aaf64db035d11e795ae5
Files :

  • lustre/llite/namei.c
  • lustre/llite/file.c
  • lustre/llite/dcache.c
  • lustre/llite/llite_internal.h
  • lustre/llite/llite_capa.c
Comment by Build Master (Inactive) [ 25/Oct/11 ]

Integrated in lustre-master » i686,server,el5,inkernel #311
LU-555 ll_have_md_lock() optimization to accelerate multiple bits locks

Oleg Drokin : cc2836737d5401ad48e2aaf64db035d11e795ae5
Files :

  • lustre/llite/llite_internal.h
  • lustre/llite/dcache.c
  • lustre/llite/namei.c
  • lustre/llite/llite_capa.c
  • lustre/llite/file.c
Comment by Build Master (Inactive) [ 25/Oct/11 ]

Integrated in lustre-master » i686,server,el6,inkernel #311
LU-555 ll_have_md_lock() optimization to accelerate multiple bits locks

Oleg Drokin : cc2836737d5401ad48e2aaf64db035d11e795ae5
Files :

  • lustre/llite/llite_internal.h
  • lustre/llite/namei.c
  • lustre/llite/llite_capa.c
  • lustre/llite/dcache.c
  • lustre/llite/file.c
Generated at Sat Feb 10 01:08:12 UTC 2024 using Jira 9.4.14#940014-sha1:734e6822bbf0d45eff9af51f82432957f73aa32c.