Re: [PATCH v4 2/3] scsi: ufs: core: Introduce a new clock_gating lock

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



On 11/21/24 1:06 PM, Avri Altman wrote:
On 11/18/24 6:41 AM, Avri Altman wrote:
+     spin_lock_irqsave(hba->host->host_lock, flags);
+     if (ufshcd_has_pending_tasks(hba) ||
+         hba->ufshcd_state != UFSHCD_STATE_OPERATIONAL) {
+             spin_unlock_irqrestore(hba->host->host_lock, flags);
+             return;
+     }
+     spin_unlock_irqrestore(hba->host->host_lock, flags);

Why explicit lock/unlock calls instead of using scoped_guard()?
Should I apply those to host_lock as well?

Yes, please use scoped_guard() and guard() in new code. I expect that
using scoped_guard() here will lead to code that is easier to read.

+ * @clk_gating_workq: workqueue for clock gating work.
+ * @lock: serialize access to some struct ufs_clk_gating members

Please document that @lock is the outer lock relative to the host lock.
Not sure what you mean?
host_lock is nested in one place only, should this goes to the @lock documentation?

Whenever locks are nested, the nesting order must be consistent
everywhere. Otherwise there is a risk of triggering an ABBA deadlock.
So I think it is a good practice to document in which order locks should
be nested.

Thanks,

Bart.





[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[Index of Archives]     [SCSI Target Devel]     [Linux SCSI Target Infrastructure]     [Kernel Newbies]     [IDE]     [Security]     [Git]     [Netfilter]     [Bugtraq]     [Yosemite News]     [MIPS Linux]     [ARM Linux]     [Linux Security]     [Linux RAID]     [Linux ATA RAID]     [Linux IIO]     [Samba]     [Device Mapper]

  Powered by Linux