[LU-16796] Replace LASSERT_ATOMIC_* (atomic_t) with reference counters (refcount) Created: 04/May/23  Updated: 04/Feb/24

Status: Open
Project: Lustre
Component/s: None
Affects Version/s: None
Fix Version/s: None

Type: Improvement Priority: Minor
Reporter: Arshad Hussain Assignee: Arshad Hussain
Resolution: Unresolved Votes: 0
Labels: lug23dd

Issue Links:
Related
is related to LU-9859 libcfs simplification Open
Severity: 3
Rank (Obsolete): 9223372036854775807

 Description   

 

For Example.

struct ptlrpc_sec {      
....
atomic_t ps_refcount;    
};

Which is called as...

LASSERT_ATOMIC_ZERO(&sec->ps_refcount);

Now becomes

struct ptlrpc_sec {      
....
struct kref ps_refcount;
};

and every thing should follow to support the above.

 

Currently these are under active use:

LASSERT_ATOMIC_GT
LASSERT_ATOMIC_GT_LT
LASSERT_ATOMIC_ZERO
LASSERT_ATOMIC_POS


 Comments   
Comment by James A Simmons [ 04/May/23 ]

Sorry by reference counters I mean refcount API in refcount.h

Comment by Patrick Farrell [ 04/May/23 ]

That seems to be what Arshad is describing here?

Comment by Arshad Hussain [ 04/May/23 ]

Patrick, Even I missunderstood. I spoke to James and what he meant was "refcount_t" (Variant of atomic_t specialized for reference counts. (https://github.com/torvalds/linux/blob/master/include/linux/refcount.h))

Now the change becomes

struct ptlrpc_sec {      
.... 
refcount_t ps_refcount;
...
};

 

Comment by Gerrit Updater [ 05/May/23 ]

"Arshad Hussain <arshad.hussain@aeoncomputing.com>" uploaded a new patch: https://review.whamcloud.com/c/fs/lustre-release/+/50870
Subject: LU-16796 libcfs: Remove unsed LASSERT_ATOMIC_* macros
Project: fs/lustre-release
Branch: master
Current Patch Set: 1
Commit: 5ca051d9d110416d30207b449028a77d49c9ed84

Comment by Gerrit Updater [ 07/May/23 ]

"Arshad Hussain <arshad.hussain@aeoncomputing.com>" uploaded a new patch: https://review.whamcloud.com/c/fs/lustre-release/+/50881
Subject: LU-16796 libcfs: Remove referance to LASSERT_ATOMIC_POS
Project: fs/lustre-release
Branch: master
Current Patch Set: 1
Commit: 50411c28f5bd154410f9f50d9783fa44dd70b4f3

Comment by Gerrit Updater [ 16/May/23 ]

"Arshad Hussain <arshad.hussain@aeoncomputing.com>" uploaded a new patch: https://review.whamcloud.com/c/fs/lustre-release/+/51004
Subject: LU-16796 libcfs: Remove reference to LASSERT_ATOMIC_ZERO
Project: fs/lustre-release
Branch: master
Current Patch Set: 1
Commit: 3a0276d302aef777f0db8451ed69ded2b18251f5

Comment by Gerrit Updater [ 19/May/23 ]

"Oleg Drokin <green@whamcloud.com>" merged in patch https://review.whamcloud.com/c/fs/lustre-release/+/50870/
Subject: LU-16796 libcfs: Remove unsed LASSERT_ATOMIC_* macros
Project: fs/lustre-release
Branch: master
Current Patch Set:
Commit: f875d0c714b548553dc3249576e01bb7efa2247b

Comment by Gerrit Updater [ 29/May/23 ]

"Arshad Hussain <arshad.hussain@aeoncomputing.com>" uploaded a new patch: https://review.whamcloud.com/c/fs/lustre-release/+/51157
Subject: LU-16796 libcfs: Remove reference to LASSERT_ATOMIC_GT_LT
Project: fs/lustre-release
Branch: master
Current Patch Set: 1
Commit: 0ddc98cf5835f021e51d6bd1374d5ab1a0817dad

Comment by Gerrit Updater [ 31/May/23 ]

"Oleg Drokin <green@whamcloud.com>" merged in patch https://review.whamcloud.com/c/fs/lustre-release/+/50881/
Subject: LU-16796 libcfs: Remove reference to LASSERT_ATOMIC_POS
Project: fs/lustre-release
Branch: master
Current Patch Set:
Commit: 165433bb4ced42560ff816ca34b74d410c158907

Comment by Gerrit Updater [ 01/Jun/23 ]

"Arshad Hussain <arshad.hussain@aeoncomputing.com>" uploaded a new patch: https://review.whamcloud.com/c/fs/lustre-release/+/51189
Subject: LU-16796 libcfs: Remove reference to LASSERT_ATOMIC_GT
Project: fs/lustre-release
Branch: master
Current Patch Set: 1
Commit: 5e40a6ce98cef6169e60d58cf02d9bd79a800b26

Comment by Gerrit Updater [ 08/Jul/23 ]

"Oleg Drokin <green@whamcloud.com>" merged in patch https://review.whamcloud.com/c/fs/lustre-release/+/51189/
Subject: LU-16796 libcfs: Remove reference to LASSERT_ATOMIC_GT
Project: fs/lustre-release
Branch: master
Current Patch Set:
Commit: acdc2c8bb7aaf8d193619291b996c5b290c68213

Comment by Gerrit Updater [ 19/Jul/23 ]

"Oleg Drokin <green@whamcloud.com>" merged in patch https://review.whamcloud.com/c/fs/lustre-release/+/51157/
Subject: LU-16796 libcfs: Remove reference to LASSERT_ATOMIC_GT_LT
Project: fs/lustre-release
Branch: master
Current Patch Set:
Commit: 5cc0c6b2630e955ee8a2e5c00f9837729f69c8f8

Comment by Gerrit Updater [ 23/Jul/23 ]

"Arshad Hussain <arshad.hussain@aeoncomputing.com>" uploaded a new patch: https://review.whamcloud.com/c/fs/lustre-release/+/51747
Subject: LU-16796 obdclass: Change struct jobid_pid_map to use refcount_t
Project: fs/lustre-release
Branch: master
Current Patch Set: 1
Commit: 0fbb9376a37afa0b873f86d27f828de7d440cc21

Comment by Gerrit Updater [ 28/Jul/23 ]

"Arshad Hussain <arshad.hussain@aeoncomputing.com>" uploaded a new patch: https://review.whamcloud.com/c/fs/lustre-release/+/51794
Subject: LU-16796 ptlrpc: Change struct ptlrpc_svc_ctx to use kref
Project: fs/lustre-release
Branch: master
Current Patch Set: 1
Commit: 69d48ec3f966a9e23766bc1c70c1eaf6887766d9

Comment by Gerrit Updater [ 31/Jul/23 ]

"Arshad Hussain <arshad.hussain@aeoncomputing.com>" uploaded a new patch: https://review.whamcloud.com/c/fs/lustre-release/+/51811
Subject: LU-16796 ptlrpc: Change struct ls_device to use kref
Project: fs/lustre-release
Branch: master
Current Patch Set: 1
Commit: 655749c7e9a3dc01cd8b95bf2d028b51e61d83e6

Comment by Gerrit Updater [ 01/Aug/23 ]

"Oleg Drokin <green@whamcloud.com>" merged in patch https://review.whamcloud.com/c/fs/lustre-release/+/51004/
Subject: LU-16796 libcfs: Remove reference to LASSERT_ATOMIC_ZERO
Project: fs/lustre-release
Branch: master
Current Patch Set:
Commit: d48ddf585cd2dd93092b3d67f1d38d5125505c04

Comment by Gerrit Updater [ 01/Aug/23 ]

"Oleg Drokin <green@whamcloud.com>" merged in patch https://review.whamcloud.com/c/fs/lustre-release/+/51747/
Subject: LU-16796 obdclass: Change struct jobid_pid_map to use refcount_t
Project: fs/lustre-release
Branch: master
Current Patch Set:
Commit: 616e2c9e34384604027508488e55bf93635b3098

Comment by Gerrit Updater [ 03/Aug/23 ]

"Arshad Hussain <arshad.hussain@aeoncomputing.com>" uploaded a new patch: https://review.whamcloud.com/c/fs/lustre-release/+/51864
Subject: LU-16796 ptlrpc: Change struct lsi_mounts to use kref
Project: fs/lustre-release
Branch: master
Current Patch Set: 1
Commit: 06cbd722efa8edbe455ca448a65ee4e733e50961

Comment by Gerrit Updater [ 07/Aug/23 ]

"Arshad Hussain <arshad.hussain@aeoncomputing.com>" uploaded a new patch: https://review.whamcloud.com/c/fs/lustre-release/+/51881
Subject: LU-16796 osc: Change struct osc_object to use kref
Project: fs/lustre-release
Branch: master
Current Patch Set: 1
Commit: 5cfda4da6bbb68bda15b55a55749d67ed04a5392

Comment by Gerrit Updater [ 11/Aug/23 ]

"Arshad Hussain <arshad.hussain@aeoncomputing.com>" uploaded a new patch: https://review.whamcloud.com/c/fs/lustre-release/+/51922
Subject: LU-16796 target: Change struct top_multiple_thandle to use kref
Project: fs/lustre-release
Branch: master
Current Patch Set: 1
Commit: d1b47f904581950675bce4d1db0ccd422e1c9386

Comment by Gerrit Updater [ 14/Aug/23 ]

"Arshad Hussain <arshad.hussain@aeoncomputing.com>" uploaded a new patch: https://review.whamcloud.com/c/fs/lustre-release/+/51938
Subject: LU-16796 libcfs: Change struct cfs_hash to use kref
Project: fs/lustre-release
Branch: master
Current Patch Set: 1
Commit: 36b7bfab2fc9e7bd599ecf97b8107ae28ef2079f

Comment by Gerrit Updater [ 24/Aug/23 ]

"Oleg Drokin <green@whamcloud.com>" merged in patch https://review.whamcloud.com/c/fs/lustre-release/+/51811/
Subject: LU-16796 ptlrpc: Change struct ls_device to use kref
Project: fs/lustre-release
Branch: master
Current Patch Set:
Commit: 33bd9d4068c9d9b5f01b94346f0eaf976198c861

Comment by Gerrit Updater [ 24/Aug/23 ]

"Oleg Drokin <green@whamcloud.com>" merged in patch https://review.whamcloud.com/c/fs/lustre-release/+/51864/
Subject: LU-16796 ptlrpc: Change struct lsi_mounts to use kref
Project: fs/lustre-release
Branch: master
Current Patch Set:
Commit: eca2ee5c25412b2bed4f417a859009fd26e94b7f

Comment by Gerrit Updater [ 24/Aug/23 ]

"Oleg Drokin <green@whamcloud.com>" merged in patch https://review.whamcloud.com/c/fs/lustre-release/+/51922/
Subject: LU-16796 target: Change struct top_multiple_thandle to use kref
Project: fs/lustre-release
Branch: master
Current Patch Set:
Commit: 99fb9376388e04d4fe713766e03dbb26f20bdc52

Comment by Gerrit Updater [ 24/Aug/23 ]

"Oleg Drokin <green@whamcloud.com>" merged in patch https://review.whamcloud.com/c/fs/lustre-release/+/51938/
Subject: LU-16796 libcfs: Change struct cfs_hash to use kref
Project: fs/lustre-release
Branch: master
Current Patch Set:
Commit: e04d7fc2913c73097b7d20f05d4e896fa9e95f6b

Comment by Gerrit Updater [ 28/Aug/23 ]

"Arshad Hussain <arshad.hussain@aeoncomputing.com>" uploaded a new patch: https://review.whamcloud.com/c/fs/lustre-release/+/52122
Subject: LU-16796 libcfs: Change struct pool_desc to use kref
Project: fs/lustre-release
Branch: master
Current Patch Set: 1
Commit: 007af9a93c2b62c2e7fd63345039f2fc421a7a10

Comment by Gerrit Updater [ 28/Aug/23 ]

"Arshad Hussain <arshad.hussain@aeoncomputing.com>" uploaded a new patch: https://review.whamcloud.com/c/fs/lustre-release/+/52127
Subject: LU-16796 libcfs: Change struct qmt_pool_info to use kref
Project: fs/lustre-release
Branch: master
Current Patch Set: 1
Commit: 524beb0b4a9d122a2e700ed7352e9bfba467169d

Comment by Gerrit Updater [ 29/Aug/23 ]

"Arshad Hussain <arshad.hussain@aeoncomputing.com>" uploaded a new patch: https://review.whamcloud.com/c/fs/lustre-release/+/52148
Subject: LU-16796 mdt: Change struct cdt_agent_req to use kref
Project: fs/lustre-release
Branch: master
Current Patch Set: 1
Commit: bd21ea3020d6295360985b617903684fd27b4175

Comment by Gerrit Updater [ 29/Aug/23 ]

"Arshad Hussain <arshad.hussain@aeoncomputing.com>" uploaded a new patch: https://review.whamcloud.com/c/fs/lustre-release/+/52153
Subject: LU-16796 mdt: Change struct cdt_agent_record_loc to use kref
Project: fs/lustre-release
Branch: master
Current Patch Set: 1
Commit: a799835dae5699f5c08c256cd604b9f70020a316

Comment by Gerrit Updater [ 30/Aug/23 ]

"Arshad Hussain <arshad.hussain@aeoncomputing.com>" uploaded a new patch: https://review.whamcloud.com/c/fs/lustre-release/+/52173
Subject: LU-16796 target: Change struct barrier_instance to use kref
Project: fs/lustre-release
Branch: master
Current Patch Set: 1
Commit: 00ffdcc6b41803d1daf1eace9415f62e63c3a1e6

Comment by Gerrit Updater [ 30/Aug/23 ]

"Arshad Hussain <arshad.hussain@aeoncomputing.com>" uploaded a new patch: https://review.whamcloud.com/c/fs/lustre-release/+/52179
Subject: LU-16796 obd: Change struct obd_device to use kref
Project: fs/lustre-release
Branch: master
Current Patch Set: 1
Commit: 0af14640b6b8c3c300c40074c1bdfdb022a895a0

Comment by Gerrit Updater [ 06/Sep/23 ]

"Oleg Drokin <green@whamcloud.com>" merged in patch https://review.whamcloud.com/c/fs/lustre-release/+/52148/
Subject: LU-16796 mdt: Change struct cdt_agent_req to use kref
Project: fs/lustre-release
Branch: master
Current Patch Set:
Commit: 9e597a09510c2f7bbc98ab0ce2aca2fe21a9ab45

Comment by Gerrit Updater [ 12/Sep/23 ]

"Arshad Hussain <arshad.hussain@aeoncomputing.com>" uploaded a new patch: https://review.whamcloud.com/c/fs/lustre-release/+/52345
Subject: LU-16796 misc: Convert atomic_t to refcount_t(0)
Project: fs/lustre-release
Branch: master
Current Patch Set: 1
Commit: e85e316da732d2544730d10e7d0c9320713d9e85

Comment by Gerrit Updater [ 13/Sep/23 ]

"Oleg Drokin <green@whamcloud.com>" merged in patch https://review.whamcloud.com/c/fs/lustre-release/+/52153/
Subject: LU-16796 mdt: Change struct cdt_agent_record_loc to use kref
Project: fs/lustre-release
Branch: master
Current Patch Set:
Commit: a7b8675ec68687f97fc9d7b486c2e3481d579a4e

Comment by Gerrit Updater [ 13/Sep/23 ]

"Oleg Drokin <green@whamcloud.com>" merged in patch https://review.whamcloud.com/c/fs/lustre-release/+/52179/
Subject: LU-16796 obd: Change struct obd_device to use kref
Project: fs/lustre-release
Branch: master
Current Patch Set:
Commit: de1c549814cdf5b9989f29b754cb0f94860b1223

Comment by Gerrit Updater [ 16/Oct/23 ]

"Oleg Drokin <green@whamcloud.com>" merged in patch https://review.whamcloud.com/c/fs/lustre-release/+/52173/
Subject: LU-16796 target: Change struct barrier_instance to use kref
Project: fs/lustre-release
Branch: master
Current Patch Set:
Commit: 2b3371d5ee52c0fd915d0713c365a1cc53f51265

Comment by Gerrit Updater [ 17/Oct/23 ]

"Arshad Hussain <arshad.hussain@aeoncomputing.com>" uploaded a new patch: https://review.whamcloud.com/c/fs/lustre-release/+/52722
Subject: LU-16796 ofd: Change struct ofd_seq to use refcount_t
Project: fs/lustre-release
Branch: master
Current Patch Set: 1
Commit: 411552443fbc86647320e61f83aadc3ce3f8aff7

Comment by Gerrit Updater [ 17/Oct/23 ]

"Arshad Hussain <arshad.hussain@aeoncomputing.com>" uploaded a new patch: https://review.whamcloud.com/c/fs/lustre-release/+/52723
Subject: LU-16796 ofd: Change struct ldlm_namespace to use refcount_t
Project: fs/lustre-release
Branch: master
Current Patch Set: 1
Commit: d732c5d8b1d3b33726fcf1dc309fffec645d305b

Comment by Gerrit Updater [ 23/Oct/23 ]

"Arshad Hussain <arshad.hussain@aeoncomputing.com>" uploaded a new patch: https://review.whamcloud.com/c/fs/lustre-release/+/52799
Subject: LU-16796 target: Change struct job_stat to use kref
Project: fs/lustre-release
Branch: master
Current Patch Set: 1
Commit: 7c5f6ad117df6fc122d89b4ba9dff83ffedd26cf

Comment by Gerrit Updater [ 24/Oct/23 ]

"Arshad Hussain <arshad.hussain@aeoncomputing.com>" uploaded a new patch: https://review.whamcloud.com/c/fs/lustre-release/+/52811
Subject: LU-16796 lfsck: Change lfsck_assistant_object to use kref
Project: fs/lustre-release
Branch: master
Current Patch Set: 1
Commit: 7d091f848d9ed46fba46c9e53d8067ec15f6d640

Comment by Gerrit Updater [ 24/Oct/23 ]

"Arshad Hussain <arshad.hussain@aeoncomputing.com>" uploaded a new patch: https://review.whamcloud.com/c/fs/lustre-release/+/52813
Subject: LU-16796 mgc: Change config_llog_data to use refcount_t
Project: fs/lustre-release
Branch: master
Current Patch Set: 1
Commit: e010eb67453994bf77fdcf8e70b37aa7e6b1f1a0

Comment by Gerrit Updater [ 08/Nov/23 ]

"Oleg Drokin <green@whamcloud.com>" merged in patch https://review.whamcloud.com/c/fs/lustre-release/+/52722/
Subject: LU-16796 ofd: Change struct ofd_seq to use refcount_t
Project: fs/lustre-release
Branch: master
Current Patch Set:
Commit: 1759ae751aae8830e38faaeea1248667f5aac1aa

Comment by Gerrit Updater [ 08/Nov/23 ]

"Oleg Drokin <green@whamcloud.com>" merged in patch https://review.whamcloud.com/c/fs/lustre-release/+/52799/
Subject: LU-16796 target: Change struct job_stat to use kref
Project: fs/lustre-release
Branch: master
Current Patch Set:
Commit: d7e3e7c1047b2e7412beadf9cd55c767b65ab4ab

Comment by Gerrit Updater [ 08/Nov/23 ]

"Oleg Drokin <green@whamcloud.com>" merged in patch https://review.whamcloud.com/c/fs/lustre-release/+/52811/
Subject: LU-16796 lfsck: Change lfsck_assistant_object to use kref
Project: fs/lustre-release
Branch: master
Current Patch Set:
Commit: 37a50f74da0c8d352d7bbe83bd1f7aeb08988714

Comment by Gerrit Updater [ 18/Nov/23 ]

"Oleg Drokin <green@whamcloud.com>" merged in patch https://review.whamcloud.com/c/fs/lustre-release/+/52813/
Subject: LU-16796 mgc: Change config_llog_data to use refcount_t
Project: fs/lustre-release
Branch: master
Current Patch Set:
Commit: 71760113e7207772bbd60a5372a6f2483d9e24b2

Comment by Gerrit Updater [ 12/Dec/23 ]

"Arshad Hussain <arshad.hussain@aeoncomputing.com>" uploaded a new patch: https://review.whamcloud.com/c/fs/lustre-release/+/53416
Subject: LU-16796 ldlm: Change struct ldlm_resource to use refcount_t
Project: fs/lustre-release
Branch: master
Current Patch Set: 1
Commit: 66e92c6b5a2fe8f2ab42d41be9c0c2c8fe0b7734

Comment by Gerrit Updater [ 12/Dec/23 ]

"Arshad Hussain <arshad.hussain@aeoncomputing.com>" uploaded a new patch: https://review.whamcloud.com/c/fs/lustre-release/+/53422
Subject: LU-16796 lfsck: Change lfsck_layout_slave_target to use kref
Project: fs/lustre-release
Branch: master
Current Patch Set: 1
Commit: 89954af1e01a2c20020e28cd51a2e80fbbe68d16

Comment by Gerrit Updater [ 13/Dec/23 ]

"Arshad Hussain <arshad.hussain@aeoncomputing.com>" uploaded a new patch: https://review.whamcloud.com/c/fs/lustre-release/+/53438
Subject: LU-16796 lnet: Change sfw_session to use refcount_t
Project: fs/lustre-release
Branch: master
Current Patch Set: 1
Commit: ee73e194010a1ae41c2a22c67ed2ba438df0aa86

Comment by Gerrit Updater [ 14/Dec/23 ]

"Arshad Hussain <arshad.hussain@aeoncomputing.com>" uploaded a new patch: https://review.whamcloud.com/c/fs/lustre-release/+/53457
Subject: LU-16796 lnet: Change struct lnet_delay_rule to use kref
Project: fs/lustre-release
Branch: master
Current Patch Set: 1
Commit: 307878125e180fd3aa4c149beace9dbc9228b40e

Comment by Gerrit Updater [ 14/Dec/23 ]

"Arshad Hussain <arshad.hussain@aeoncomputing.com>" uploaded a new patch: https://review.whamcloud.com/c/fs/lustre-release/+/53459
Subject: LU-16796 ptlrpc: Change struct ptlrpc_request_set to use kref
Project: fs/lustre-release
Branch: master
Current Patch Set: 1
Commit: 0e11b86e8e7e8dc49a2f05da5d955945913786b4

Comment by Gerrit Updater [ 20/Dec/23 ]

"Oleg Drokin <green@whamcloud.com>" merged in patch https://review.whamcloud.com/c/fs/lustre-release/+/52122/
Subject: LU-16796 lov: Change struct pool_desc to use kref
Project: fs/lustre-release
Branch: master
Current Patch Set:
Commit: ff22bc6aff258577993b08ca3c938870a4b0ea25

Comment by Gerrit Updater [ 04/Feb/24 ]

"Oleg Drokin <green@whamcloud.com>" merged in patch https://review.whamcloud.com/c/fs/lustre-release/+/53416/
Subject: LU-16796 ldlm: Change struct ldlm_resource to use refcount_t
Project: fs/lustre-release
Branch: master
Current Patch Set:
Commit: 7375cd6da6329e4d4a4bfb600d4fc9552b3c4c6f

Comment by Gerrit Updater [ 04/Feb/24 ]

"Oleg Drokin <green@whamcloud.com>" merged in patch https://review.whamcloud.com/c/fs/lustre-release/+/53438/
Subject: LU-16796 lnet: Change sfw_session to use refcount_t
Project: fs/lustre-release
Branch: master
Current Patch Set:
Commit: 82385d6e2248a1351721b8b6337d47353c9ccc26

Generated at Sat Feb 10 03:30:04 UTC 2024 using Jira 9.4.14#940014-sha1:734e6822bbf0d45eff9af51f82432957f73aa32c.