mirror of
https://github.com/SCST-project/scst.git
synced 2026-05-21 12:41:26 +00:00
scst: Avoid switching explicitly to per-cpu
git-svn-id: http://svn.code.sf.net/p/scst/svn/trunk@8044 d57e44dd-8a1f-0410-8b47-8ef2f437770f
This commit is contained in:
@@ -884,17 +884,11 @@ struct percpu_ref {
|
||||
percpu_ref_func_t *release;
|
||||
};
|
||||
|
||||
/* @flags for percpu_ref_init() */
|
||||
enum {
|
||||
PERCPU_REF_INIT_ATOMIC = 1 << 0,
|
||||
PERCPU_REF_INIT_DEAD = 1 << 1,
|
||||
};
|
||||
|
||||
static inline int __must_check percpu_ref_init(struct percpu_ref *ref,
|
||||
percpu_ref_func_t *release, unsigned int flags,
|
||||
gfp_t gfp)
|
||||
{
|
||||
WARN_ON_ONCE(flags != PERCPU_REF_INIT_ATOMIC);
|
||||
WARN_ON_ONCE(flags != 0);
|
||||
atomic_long_set(&ref->count, 1);
|
||||
ref->release = release;
|
||||
return 0;
|
||||
@@ -904,19 +898,6 @@ static inline void percpu_ref_exit(struct percpu_ref *ref)
|
||||
{
|
||||
}
|
||||
|
||||
static inline void percpu_ref_switch_to_atomic(struct percpu_ref *ref,
|
||||
percpu_ref_func_t *confirm_switch)
|
||||
{
|
||||
}
|
||||
|
||||
static inline void percpu_ref_switch_to_atomic_sync(struct percpu_ref *ref)
|
||||
{
|
||||
}
|
||||
|
||||
static inline void percpu_ref_switch_to_percpu(struct percpu_ref *ref)
|
||||
{
|
||||
}
|
||||
|
||||
static inline void percpu_ref_get(struct percpu_ref *ref)
|
||||
{
|
||||
atomic_long_inc(&ref->count);
|
||||
|
||||
@@ -4225,11 +4225,9 @@ int scst_alloc_device(gfp_t gfp_mask, int nodeid, struct scst_device **out_dev)
|
||||
|
||||
dev->handler = &scst_null_devtype;
|
||||
INIT_WORK(&dev->free_work, scst_finally_free_device);
|
||||
res = percpu_ref_init(&dev->refcnt, scst_release_device,
|
||||
PERCPU_REF_INIT_ATOMIC, GFP_KERNEL);
|
||||
res = percpu_ref_init(&dev->refcnt, scst_release_device, 0, GFP_KERNEL);
|
||||
if (res < 0)
|
||||
goto free_dev;
|
||||
percpu_ref_switch_to_percpu(&dev->refcnt);
|
||||
#ifdef CONFIG_SCST_PER_DEVICE_CMD_COUNT_LIMIT
|
||||
atomic_set(&dev->dev_cmd_count, 0);
|
||||
#endif
|
||||
@@ -7062,11 +7060,9 @@ struct scst_session *scst_alloc_session(struct scst_tgt *tgt, gfp_t gfp_mask,
|
||||
|
||||
sess->init_phase = SCST_SESS_IPH_INITING;
|
||||
sess->shut_phase = SCST_SESS_SPH_READY;
|
||||
ret = percpu_ref_init(&sess->refcnt, scst_sess_release,
|
||||
PERCPU_REF_INIT_ATOMIC, GFP_KERNEL);
|
||||
ret = percpu_ref_init(&sess->refcnt, scst_sess_release, 0, GFP_KERNEL);
|
||||
if (ret < 0)
|
||||
goto out_free;
|
||||
percpu_ref_switch_to_percpu(&sess->refcnt);
|
||||
mutex_init(&sess->tgt_dev_list_mutex);
|
||||
for (i = 0; i < SESS_TGT_DEV_LIST_HASH_SIZE; i++) {
|
||||
struct list_head *head = &sess->sess_tgt_dev_list[i];
|
||||
|
||||
Reference in New Issue
Block a user