* [PATCH v2 1/2] scsi: fnic: Replace fnic->lock_flags with local flags
@ 2025-03-01 1:37 Karan Tilak Kumar
2025-03-01 1:37 ` [PATCH v2 2/2] scsi: fnic: Remove unnecessary spinlock locking and unlocking Karan Tilak Kumar
2025-03-04 3:08 ` [PATCH v2 1/2] scsi: fnic: Replace fnic->lock_flags with local flags Martin K. Petersen
0 siblings, 2 replies; 6+ messages in thread
From: Karan Tilak Kumar @ 2025-03-01 1:37 UTC (permalink / raw)
To: sebaddel
Cc: arulponn, djhawar, gcboffa, mkai2, satishkh, aeasi, jejb,
martin.petersen, linux-scsi, linux-kernel, Karan Tilak Kumar,
Dan Carpenter
Replace fnic->lock_flags with local variable for usage with spinlocks
in fdls_schedule_oxid_free_retry_work.
Suggested-by: Dan Carpenter <dan.carpenter@linaro.org>
Fixes: a63e78eb2b0f ("scsi: fnic: Add support for fabric based solicited requests and responses")
Reviewed-by: Sesidhar Baddela <sebaddel@cisco.com>
Reviewed-by: Arulprabhu Ponnusamy <arulponn@cisco.com>
Reviewed-by: Gian Carlo Boffa <gcboffa@cisco.com>
Reviewed-by: Arun Easi <aeasi@cisco.com>
Signed-off-by: Karan Tilak Kumar <kartilak@cisco.com>
---
drivers/scsi/fnic/fdls_disc.c | 11 ++++++-----
1 file changed, 6 insertions(+), 5 deletions(-)
diff --git a/drivers/scsi/fnic/fdls_disc.c b/drivers/scsi/fnic/fdls_disc.c
index 3a41e92d5fd6..8843d9486dbb 100644
--- a/drivers/scsi/fnic/fdls_disc.c
+++ b/drivers/scsi/fnic/fdls_disc.c
@@ -308,23 +308,24 @@ void fdls_schedule_oxid_free_retry_work(struct work_struct *work)
struct fnic *fnic = iport->fnic;
struct reclaim_entry_s *reclaim_entry;
unsigned long delay_j = msecs_to_jiffies(OXID_RECLAIM_TOV(iport));
+ unsigned long flags;
int idx;
- spin_lock_irqsave(&fnic->fnic_lock, fnic->lock_flags);
+ spin_lock_irqsave(&fnic->fnic_lock, flags);
for_each_set_bit(idx, oxid_pool->pending_schedule_free, FNIC_OXID_POOL_SZ) {
FNIC_FCS_DBG(KERN_INFO, fnic->host, fnic->fnic_num,
"Schedule oxid free. oxid idx: %d\n", idx);
- spin_unlock_irqrestore(&fnic->fnic_lock, fnic->lock_flags);
+ spin_unlock_irqrestore(&fnic->fnic_lock, flags);
reclaim_entry = kzalloc(sizeof(*reclaim_entry), GFP_KERNEL);
- spin_lock_irqsave(&fnic->fnic_lock, fnic->lock_flags);
+ spin_lock_irqsave(&fnic->fnic_lock, flags);
if (!reclaim_entry) {
schedule_delayed_work(&oxid_pool->schedule_oxid_free_retry,
msecs_to_jiffies(SCHEDULE_OXID_FREE_RETRY_TIME));
- spin_unlock_irqrestore(&fnic->fnic_lock, fnic->lock_flags);
+ spin_unlock_irqrestore(&fnic->fnic_lock, flags);
return;
}
@@ -339,7 +340,7 @@ void fdls_schedule_oxid_free_retry_work(struct work_struct *work)
}
}
- spin_unlock_irqrestore(&fnic->fnic_lock, fnic->lock_flags);
+ spin_unlock_irqrestore(&fnic->fnic_lock, flags);
}
static bool fdls_is_oxid_fabric_req(uint16_t oxid)
--
2.47.1
^ permalink raw reply related [flat|nested] 6+ messages in thread* [PATCH v2 2/2] scsi: fnic: Remove unnecessary spinlock locking and unlocking
2025-03-01 1:37 [PATCH v2 1/2] scsi: fnic: Replace fnic->lock_flags with local flags Karan Tilak Kumar
@ 2025-03-01 1:37 ` Karan Tilak Kumar
2025-03-01 11:28 ` Dan Carpenter
2025-03-04 3:09 ` Martin K. Petersen
2025-03-04 3:08 ` [PATCH v2 1/2] scsi: fnic: Replace fnic->lock_flags with local flags Martin K. Petersen
1 sibling, 2 replies; 6+ messages in thread
From: Karan Tilak Kumar @ 2025-03-01 1:37 UTC (permalink / raw)
To: sebaddel
Cc: arulponn, djhawar, gcboffa, mkai2, satishkh, aeasi, jejb,
martin.petersen, linux-scsi, linux-kernel, Karan Tilak Kumar,
Dan Carpenter
Remove unnecessary locking and unlocking of spinlock in
fdls_schedule_oxid_free_retry_work.
This will shorten the time in the critical section.
Suggested-by: Dan Carpenter <dan.carpenter@linaro.org>
Fixes: a63e78eb2b0f ("scsi: fnic: Add support for fabric based solicited requests and responses")
Reviewed-by: Sesidhar Baddela <sebaddel@cisco.com>
Reviewed-by: Arulprabhu Ponnusamy <arulponn@cisco.com>
Reviewed-by: Gian Carlo Boffa <gcboffa@cisco.com>
Reviewed-by: Arun Easi <aeasi@cisco.com>
Tested-by: Karan Tilak Kumar <kartilak@cisco.com>
Signed-off-by: Karan Tilak Kumar <kartilak@cisco.com>
---
Changes between v1 and v2:
Incorporate review comments by Dan:
Replace test and clear bit with clear bit.
---
drivers/scsi/fnic/fdls_disc.c | 24 +++++++-----------------
1 file changed, 7 insertions(+), 17 deletions(-)
diff --git a/drivers/scsi/fnic/fdls_disc.c b/drivers/scsi/fnic/fdls_disc.c
index 8843d9486dbb..a9ffa7b63730 100644
--- a/drivers/scsi/fnic/fdls_disc.c
+++ b/drivers/scsi/fnic/fdls_disc.c
@@ -311,36 +311,26 @@ void fdls_schedule_oxid_free_retry_work(struct work_struct *work)
unsigned long flags;
int idx;
- spin_lock_irqsave(&fnic->fnic_lock, flags);
-
for_each_set_bit(idx, oxid_pool->pending_schedule_free, FNIC_OXID_POOL_SZ) {
FNIC_FCS_DBG(KERN_INFO, fnic->host, fnic->fnic_num,
"Schedule oxid free. oxid idx: %d\n", idx);
- spin_unlock_irqrestore(&fnic->fnic_lock, flags);
reclaim_entry = kzalloc(sizeof(*reclaim_entry), GFP_KERNEL);
- spin_lock_irqsave(&fnic->fnic_lock, flags);
-
if (!reclaim_entry) {
schedule_delayed_work(&oxid_pool->schedule_oxid_free_retry,
msecs_to_jiffies(SCHEDULE_OXID_FREE_RETRY_TIME));
- spin_unlock_irqrestore(&fnic->fnic_lock, flags);
return;
}
- if (test_and_clear_bit(idx, oxid_pool->pending_schedule_free)) {
- reclaim_entry->oxid_idx = idx;
- reclaim_entry->expires = round_jiffies(jiffies + delay_j);
- list_add_tail(&reclaim_entry->links, &oxid_pool->oxid_reclaim_list);
- schedule_delayed_work(&oxid_pool->oxid_reclaim_work, delay_j);
- } else {
- /* unlikely scenario, free the allocated memory and continue */
- kfree(reclaim_entry);
- }
+ clear_bit(idx, oxid_pool->pending_schedule_free);
+ reclaim_entry->oxid_idx = idx;
+ reclaim_entry->expires = round_jiffies(jiffies + delay_j);
+ spin_lock_irqsave(&fnic->fnic_lock, flags);
+ list_add_tail(&reclaim_entry->links, &oxid_pool->oxid_reclaim_list);
+ spin_unlock_irqrestore(&fnic->fnic_lock, flags);
+ schedule_delayed_work(&oxid_pool->oxid_reclaim_work, delay_j);
}
-
- spin_unlock_irqrestore(&fnic->fnic_lock, flags);
}
static bool fdls_is_oxid_fabric_req(uint16_t oxid)
--
2.47.1
^ permalink raw reply related [flat|nested] 6+ messages in thread* Re: [PATCH v2 2/2] scsi: fnic: Remove unnecessary spinlock locking and unlocking
2025-03-01 1:37 ` [PATCH v2 2/2] scsi: fnic: Remove unnecessary spinlock locking and unlocking Karan Tilak Kumar
@ 2025-03-01 11:28 ` Dan Carpenter
2025-03-03 20:29 ` Karan Tilak Kumar (kartilak)
2025-03-04 3:09 ` Martin K. Petersen
1 sibling, 1 reply; 6+ messages in thread
From: Dan Carpenter @ 2025-03-01 11:28 UTC (permalink / raw)
To: Karan Tilak Kumar
Cc: sebaddel, arulponn, djhawar, gcboffa, mkai2, satishkh, aeasi,
jejb, martin.petersen, linux-scsi, linux-kernel
On Fri, Feb 28, 2025 at 05:37:12PM -0800, Karan Tilak Kumar wrote:
> Remove unnecessary locking and unlocking of spinlock in
> fdls_schedule_oxid_free_retry_work.
> This will shorten the time in the critical section.
>
> Suggested-by: Dan Carpenter <dan.carpenter@linaro.org>
> Fixes: a63e78eb2b0f ("scsi: fnic: Add support for fabric based solicited requests and responses")
> Reviewed-by: Sesidhar Baddela <sebaddel@cisco.com>
> Reviewed-by: Arulprabhu Ponnusamy <arulponn@cisco.com>
> Reviewed-by: Gian Carlo Boffa <gcboffa@cisco.com>
> Reviewed-by: Arun Easi <aeasi@cisco.com>
> Tested-by: Karan Tilak Kumar <kartilak@cisco.com>
> Signed-off-by: Karan Tilak Kumar <kartilak@cisco.com>
> ---
> Changes between v1 and v2:
> Incorporate review comments by Dan:
> Replace test and clear bit with clear bit.
> ---
Thanks!
I'm not really qualified to give a reviewed-by tag to this, but it looks
okay to me.
regards,
dan carpenter
^ permalink raw reply [flat|nested] 6+ messages in thread* RE: [PATCH v2 2/2] scsi: fnic: Remove unnecessary spinlock locking and unlocking
2025-03-01 11:28 ` Dan Carpenter
@ 2025-03-03 20:29 ` Karan Tilak Kumar (kartilak)
0 siblings, 0 replies; 6+ messages in thread
From: Karan Tilak Kumar (kartilak) @ 2025-03-03 20:29 UTC (permalink / raw)
To: Dan Carpenter
Cc: Sesidhar Baddela (sebaddel), Arulprabhu Ponnusamy (arulponn),
Dhanraj Jhawar (djhawar), Gian Carlo Boffa (gcboffa),
Masa Kai (mkai2), Satish Kharat (satishkh), Arun Easi (aeasi),
jejb@linux.ibm.com, martin.petersen@oracle.com,
linux-scsi@vger.kernel.org, linux-kernel@vger.kernel.org
On Saturday, March 1, 2025 3:29 AM, Dan Carpenter <dan.carpenter@linaro.org> wrote:
>
> On Fri, Feb 28, 2025 at 05:37:12PM -0800, Karan Tilak Kumar wrote:
> > Remove unnecessary locking and unlocking of spinlock in
> > fdls_schedule_oxid_free_retry_work.
> > This will shorten the time in the critical section.
> >
> > Suggested-by: Dan Carpenter <dan.carpenter@linaro.org>
> > Fixes: a63e78eb2b0f ("scsi: fnic: Add support for fabric based solicited requests and responses")
> > Reviewed-by: Sesidhar Baddela <sebaddel@cisco.com>
> > Reviewed-by: Arulprabhu Ponnusamy <arulponn@cisco.com>
> > Reviewed-by: Gian Carlo Boffa <gcboffa@cisco.com>
> > Reviewed-by: Arun Easi <aeasi@cisco.com>
> > Tested-by: Karan Tilak Kumar <kartilak@cisco.com>
> > Signed-off-by: Karan Tilak Kumar <kartilak@cisco.com>
> > ---
> > Changes between v1 and v2:
> > Incorporate review comments by Dan:
> > Replace test and clear bit with clear bit.
> > ---
>
> Thanks!
>
> I'm not really qualified to give a reviewed-by tag to this, but it looks
> okay to me.
>
> regards,
> dan carpenter
>
>
Thanks for your review and comments, Dan.
Appreciate your help.
Regards,
Karan
^ permalink raw reply [flat|nested] 6+ messages in thread
* Re: [PATCH v2 2/2] scsi: fnic: Remove unnecessary spinlock locking and unlocking
2025-03-01 1:37 ` [PATCH v2 2/2] scsi: fnic: Remove unnecessary spinlock locking and unlocking Karan Tilak Kumar
2025-03-01 11:28 ` Dan Carpenter
@ 2025-03-04 3:09 ` Martin K. Petersen
1 sibling, 0 replies; 6+ messages in thread
From: Martin K. Petersen @ 2025-03-04 3:09 UTC (permalink / raw)
To: Karan Tilak Kumar
Cc: sebaddel, arulponn, djhawar, gcboffa, mkai2, satishkh, aeasi,
jejb, martin.petersen, linux-scsi, linux-kernel, Dan Carpenter
Karan,
> Remove unnecessary locking and unlocking of spinlock in
> fdls_schedule_oxid_free_retry_work. This will shorten the time in the
> critical section.
Applied to 6.15/scsi-staging, thanks!
--
Martin K. Petersen Oracle Linux Engineering
^ permalink raw reply [flat|nested] 6+ messages in thread
* Re: [PATCH v2 1/2] scsi: fnic: Replace fnic->lock_flags with local flags
2025-03-01 1:37 [PATCH v2 1/2] scsi: fnic: Replace fnic->lock_flags with local flags Karan Tilak Kumar
2025-03-01 1:37 ` [PATCH v2 2/2] scsi: fnic: Remove unnecessary spinlock locking and unlocking Karan Tilak Kumar
@ 2025-03-04 3:08 ` Martin K. Petersen
1 sibling, 0 replies; 6+ messages in thread
From: Martin K. Petersen @ 2025-03-04 3:08 UTC (permalink / raw)
To: Karan Tilak Kumar
Cc: sebaddel, arulponn, djhawar, gcboffa, mkai2, satishkh, aeasi,
jejb, martin.petersen, linux-scsi, linux-kernel, Dan Carpenter
Karan,
> Replace fnic->lock_flags with local variable for usage with spinlocks
> in fdls_schedule_oxid_free_retry_work.
Applied to 6.15/scsi-staging, thanks!
--
Martin K. Petersen Oracle Linux Engineering
^ permalink raw reply [flat|nested] 6+ messages in thread
end of thread, other threads:[~2025-03-04 3:09 UTC | newest]
Thread overview: 6+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2025-03-01 1:37 [PATCH v2 1/2] scsi: fnic: Replace fnic->lock_flags with local flags Karan Tilak Kumar
2025-03-01 1:37 ` [PATCH v2 2/2] scsi: fnic: Remove unnecessary spinlock locking and unlocking Karan Tilak Kumar
2025-03-01 11:28 ` Dan Carpenter
2025-03-03 20:29 ` Karan Tilak Kumar (kartilak)
2025-03-04 3:09 ` Martin K. Petersen
2025-03-04 3:08 ` [PATCH v2 1/2] scsi: fnic: Replace fnic->lock_flags with local flags Martin K. Petersen
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.