Skip to content
Snippets Groups Projects
  • NeilBrown's avatar
    478be95b
    LU-4423 obd: backport of lu_object changes upstream · 478be95b
    NeilBrown authored
    
    fold lu_object_new() into lu_object_find_at()
    
    lu_object_new() duplicates a lot of code that is in
    lu_object_find_at().
    There is no real need for a separate function, it is simpler just
    to skip the bits of lu_object_find_at() that we don't
    want in the LOC_F_NEW case.
    
    Linux-commit: 775c4dc274343e5e2959fa1171baf2fc01028840
    
    discard extra lru count.
    
    lu_object maintains 2 lru counts.
    One is a per-bucket lsb_lru_len.
    The other is the per-cpu ls_lru_len_counter.
    
    The only times the per-bucket counters are use are:
     - a debug message when an object is added
     - in lu_site_stats_get when all the counters are combined.
    
    The debug message is not essential, and the per-cpu counter
    can be used to get the combined total.
    
    So discard the per-bucket lsb_lru_len.
    
    Linux-commit: e167b370360f8887cf21a2a82f83e7118a2aeb11
    
    make struct lu_site_bkt_data private
    
    This data structure only needs to be public so that
    various modules can access a wait queue to wait for object
    destruction.
    If we provide a function to get the wait queue, rather than the
    whole bucket, the structure can be made private.
    
    Linux-commit: bc5e7fb40d36edb95ce8f661596811bec3f7d5cf
    
    Change-Id: I26203f331a0c73ae4e23878eb10b15d9fcf546c5
    Signed-off-by: default avatarNeilBrown <neilb@suse.com>
    Signed-off-by: default avatarJames Simmons <uja.ornl@yahoo.com>
    Reviewed-on: https://review.whamcloud.com/32325
    
    
    Tested-by: Jenkins
    Tested-by: default avatarMaloo <hpdd-maloo@intel.com>
    Reviewed-by: default avatarAndreas Dilger <andreas.dilger@intel.com>
    Reviewed-by: default avatarAlex Zhuravlev <alexey.zhuravlev@intel.com>
    Reviewed-by: default avatarJohn L. Hammond <john.hammond@intel.com>
    Reviewed-by: default avatarOleg Drokin <oleg.drokin@intel.com>
    478be95b
    History
    LU-4423 obd: backport of lu_object changes upstream
    NeilBrown authored
    
    fold lu_object_new() into lu_object_find_at()
    
    lu_object_new() duplicates a lot of code that is in
    lu_object_find_at().
    There is no real need for a separate function, it is simpler just
    to skip the bits of lu_object_find_at() that we don't
    want in the LOC_F_NEW case.
    
    Linux-commit: 775c4dc274343e5e2959fa1171baf2fc01028840
    
    discard extra lru count.
    
    lu_object maintains 2 lru counts.
    One is a per-bucket lsb_lru_len.
    The other is the per-cpu ls_lru_len_counter.
    
    The only times the per-bucket counters are use are:
     - a debug message when an object is added
     - in lu_site_stats_get when all the counters are combined.
    
    The debug message is not essential, and the per-cpu counter
    can be used to get the combined total.
    
    So discard the per-bucket lsb_lru_len.
    
    Linux-commit: e167b370360f8887cf21a2a82f83e7118a2aeb11
    
    make struct lu_site_bkt_data private
    
    This data structure only needs to be public so that
    various modules can access a wait queue to wait for object
    destruction.
    If we provide a function to get the wait queue, rather than the
    whole bucket, the structure can be made private.
    
    Linux-commit: bc5e7fb40d36edb95ce8f661596811bec3f7d5cf
    
    Change-Id: I26203f331a0c73ae4e23878eb10b15d9fcf546c5
    Signed-off-by: default avatarNeilBrown <neilb@suse.com>
    Signed-off-by: default avatarJames Simmons <uja.ornl@yahoo.com>
    Reviewed-on: https://review.whamcloud.com/32325
    
    
    Tested-by: Jenkins
    Tested-by: default avatarMaloo <hpdd-maloo@intel.com>
    Reviewed-by: default avatarAndreas Dilger <andreas.dilger@intel.com>
    Reviewed-by: default avatarAlex Zhuravlev <alexey.zhuravlev@intel.com>
    Reviewed-by: default avatarJohn L. Hammond <john.hammond@intel.com>
    Reviewed-by: default avatarOleg Drokin <oleg.drokin@intel.com>