* Re: [PATCH v2] uas: replace WARN_ON_ONCE() with lockdep_assert_held()
2014-08-12 6:08 [PATCH v2] uas: replace WARN_ON_ONCE() with lockdep_assert_held() Sanjeev Sharma
@ 2014-08-12 5:58 ` Hans de Goede
2014-08-12 6:01 ` Greg KH
1 sibling, 0 replies; 5+ messages in thread
From: Hans de Goede @ 2014-08-12 5:58 UTC (permalink / raw)
To: Sanjeev Sharma
Cc: gregkh, kraxel, mdharm-usb, linux-usb, linux-kernel, linux-scsi
Hi,
On 08/12/2014 08:08 AM, Sanjeev Sharma wrote:
> spin_is_locked() always return false in uniprocessor configuration and therefore it
> would be advise to replace with lockdep_assert_held().
>
> Signed-off-by: Sanjeev Sharma <Sanjeev_Sharma@mentor.com>
> ---
> Changes in v2:
> - replaced WARN_ON_ONCE() with lockdep_assert_held() to
> avoid runtime overhead instead of assert_spin_locked()
Thanks!
Acked-by: Hans de Goede <hdegoede@redhat.com>
Regards,
Hans
>
> drivers/usb/storage/uas.c | 8 ++++----
> 1 file changed, 4 insertions(+), 4 deletions(-)
>
> diff --git a/drivers/usb/storage/uas.c b/drivers/usb/storage/uas.c
> index 3f42785..05b2d8e 100644
> --- a/drivers/usb/storage/uas.c
> +++ b/drivers/usb/storage/uas.c
> @@ -154,7 +154,7 @@ static void uas_mark_cmd_dead(struct uas_dev_info *devinfo,
> struct scsi_cmnd *cmnd = container_of(scp, struct scsi_cmnd, SCp);
>
> uas_log_cmd_state(cmnd, caller);
> - WARN_ON_ONCE(!spin_is_locked(&devinfo->lock));
> + lockdep_assert_held(&devinfo->lock);
> WARN_ON_ONCE(cmdinfo->state & COMMAND_ABORTED);
> cmdinfo->state |= COMMAND_ABORTED;
> cmdinfo->state &= ~IS_IN_WORK_LIST;
> @@ -181,7 +181,7 @@ static void uas_add_work(struct uas_cmd_info *cmdinfo)
> struct scsi_cmnd *cmnd = container_of(scp, struct scsi_cmnd, SCp);
> struct uas_dev_info *devinfo = cmnd->device->hostdata;
>
> - WARN_ON_ONCE(!spin_is_locked(&devinfo->lock));
> + lockdep_assert_held(&devinfo->lock);
> cmdinfo->state |= IS_IN_WORK_LIST;
> schedule_work(&devinfo->work);
> }
> @@ -283,7 +283,7 @@ static int uas_try_complete(struct scsi_cmnd *cmnd, const char *caller)
> struct uas_cmd_info *cmdinfo = (void *)&cmnd->SCp;
> struct uas_dev_info *devinfo = (void *)cmnd->device->hostdata;
>
> - WARN_ON_ONCE(!spin_is_locked(&devinfo->lock));
> + lockdep_assert_held(&devinfo->lock);
> if (cmdinfo->state & (COMMAND_INFLIGHT |
> DATA_IN_URB_INFLIGHT |
> DATA_OUT_URB_INFLIGHT |
> @@ -622,7 +622,7 @@ static int uas_submit_urbs(struct scsi_cmnd *cmnd,
> struct urb *urb;
> int err;
>
> - WARN_ON_ONCE(!spin_is_locked(&devinfo->lock));
> + lockdep_assert_held(&devinfo->lock);
> if (cmdinfo->state & SUBMIT_STATUS_URB) {
> urb = uas_submit_sense_urb(cmnd, gfp, cmdinfo->stream);
> if (!urb)
>
^ permalink raw reply [flat|nested] 5+ messages in thread
* Re: [PATCH v2] uas: replace WARN_ON_ONCE() with lockdep_assert_held()
2014-08-12 6:08 [PATCH v2] uas: replace WARN_ON_ONCE() with lockdep_assert_held() Sanjeev Sharma
2014-08-12 5:58 ` Hans de Goede
@ 2014-08-12 6:01 ` Greg KH
2014-08-12 6:28 ` Sharma, Sanjeev
2014-08-12 6:31 ` Guenter Roeck
1 sibling, 2 replies; 5+ messages in thread
From: Greg KH @ 2014-08-12 6:01 UTC (permalink / raw)
To: Sanjeev Sharma
Cc: hdegoede, kraxel, mdharm-usb, linux-usb, linux-kernel, linux-scsi
On Tue, Aug 12, 2014 at 11:38:37AM +0530, Sanjeev Sharma wrote:
> spin_is_locked() always return false in uniprocessor configuration and therefore it
> would be advise to replace with lockdep_assert_held().
Add "on some architectures" in here somewhere, as it's not broken on the
large majority of UP cpus :)
thanks,
greg k-h
^ permalink raw reply [flat|nested] 5+ messages in thread
* [PATCH v2] uas: replace WARN_ON_ONCE() with lockdep_assert_held()
@ 2014-08-12 6:08 Sanjeev Sharma
2014-08-12 5:58 ` Hans de Goede
2014-08-12 6:01 ` Greg KH
0 siblings, 2 replies; 5+ messages in thread
From: Sanjeev Sharma @ 2014-08-12 6:08 UTC (permalink / raw)
To: hdegoede
Cc: gregkh, kraxel, mdharm-usb, linux-usb, linux-kernel, linux-scsi,
Sanjeev Sharma, Sanjeev Sharma
spin_is_locked() always return false in uniprocessor configuration and therefore it
would be advise to replace with lockdep_assert_held().
Signed-off-by: Sanjeev Sharma <Sanjeev_Sharma@mentor.com>
---
Changes in v2:
- replaced WARN_ON_ONCE() with lockdep_assert_held() to
avoid runtime overhead instead of assert_spin_locked()
drivers/usb/storage/uas.c | 8 ++++----
1 file changed, 4 insertions(+), 4 deletions(-)
diff --git a/drivers/usb/storage/uas.c b/drivers/usb/storage/uas.c
index 3f42785..05b2d8e 100644
--- a/drivers/usb/storage/uas.c
+++ b/drivers/usb/storage/uas.c
@@ -154,7 +154,7 @@ static void uas_mark_cmd_dead(struct uas_dev_info *devinfo,
struct scsi_cmnd *cmnd = container_of(scp, struct scsi_cmnd, SCp);
uas_log_cmd_state(cmnd, caller);
- WARN_ON_ONCE(!spin_is_locked(&devinfo->lock));
+ lockdep_assert_held(&devinfo->lock);
WARN_ON_ONCE(cmdinfo->state & COMMAND_ABORTED);
cmdinfo->state |= COMMAND_ABORTED;
cmdinfo->state &= ~IS_IN_WORK_LIST;
@@ -181,7 +181,7 @@ static void uas_add_work(struct uas_cmd_info *cmdinfo)
struct scsi_cmnd *cmnd = container_of(scp, struct scsi_cmnd, SCp);
struct uas_dev_info *devinfo = cmnd->device->hostdata;
- WARN_ON_ONCE(!spin_is_locked(&devinfo->lock));
+ lockdep_assert_held(&devinfo->lock);
cmdinfo->state |= IS_IN_WORK_LIST;
schedule_work(&devinfo->work);
}
@@ -283,7 +283,7 @@ static int uas_try_complete(struct scsi_cmnd *cmnd, const char *caller)
struct uas_cmd_info *cmdinfo = (void *)&cmnd->SCp;
struct uas_dev_info *devinfo = (void *)cmnd->device->hostdata;
- WARN_ON_ONCE(!spin_is_locked(&devinfo->lock));
+ lockdep_assert_held(&devinfo->lock);
if (cmdinfo->state & (COMMAND_INFLIGHT |
DATA_IN_URB_INFLIGHT |
DATA_OUT_URB_INFLIGHT |
@@ -622,7 +622,7 @@ static int uas_submit_urbs(struct scsi_cmnd *cmnd,
struct urb *urb;
int err;
- WARN_ON_ONCE(!spin_is_locked(&devinfo->lock));
+ lockdep_assert_held(&devinfo->lock);
if (cmdinfo->state & SUBMIT_STATUS_URB) {
urb = uas_submit_sense_urb(cmnd, gfp, cmdinfo->stream);
if (!urb)
--
1.7.11.7
^ permalink raw reply related [flat|nested] 5+ messages in thread
* RE: [PATCH v2] uas: replace WARN_ON_ONCE() with lockdep_assert_held()
2014-08-12 6:01 ` Greg KH
@ 2014-08-12 6:28 ` Sharma, Sanjeev
2014-08-12 6:31 ` Guenter Roeck
1 sibling, 0 replies; 5+ messages in thread
From: Sharma, Sanjeev @ 2014-08-12 6:28 UTC (permalink / raw)
To: Greg KH
Cc: hdegoede@redhat.com, kraxel@redhat.com,
mdharm-usb@one-eyed-alien.net, linux-usb@vger.kernel.org,
linux-kernel@vger.kernel.org, linux-scsi@vger.kernel.org
Done !
Thanks
Sanjeev Sharma
-----Original Message-----
From: Greg KH [mailto:gregkh@linuxfoundation.org]
Sent: Tuesday, August 12, 2014 11:32 AM
To: Sharma, Sanjeev
Cc: hdegoede@redhat.com; kraxel@redhat.com; mdharm-usb@one-eyed-alien.net; linux-usb@vger.kernel.org; linux-kernel@vger.kernel.org; linux-scsi@vger.kernel.org
Subject: Re: [PATCH v2] uas: replace WARN_ON_ONCE() with lockdep_assert_held()
On Tue, Aug 12, 2014 at 11:38:37AM +0530, Sanjeev Sharma wrote:
> spin_is_locked() always return false in uniprocessor configuration and
> therefore it would be advise to replace with lockdep_assert_held().
Add "on some architectures" in here somewhere, as it's not broken on the large majority of UP cpus :)
thanks,
greg k-h
^ permalink raw reply [flat|nested] 5+ messages in thread
* Re: [PATCH v2] uas: replace WARN_ON_ONCE() with lockdep_assert_held()
2014-08-12 6:01 ` Greg KH
2014-08-12 6:28 ` Sharma, Sanjeev
@ 2014-08-12 6:31 ` Guenter Roeck
1 sibling, 0 replies; 5+ messages in thread
From: Guenter Roeck @ 2014-08-12 6:31 UTC (permalink / raw)
To: Greg KH
Cc: Sanjeev Sharma, hdegoede, kraxel, mdharm-usb, linux-usb,
linux-kernel, linux-scsi
On Tue, Aug 12, 2014 at 02:01:53PM +0800, Greg KH wrote:
> On Tue, Aug 12, 2014 at 11:38:37AM +0530, Sanjeev Sharma wrote:
> > spin_is_locked() always return false in uniprocessor configuration and therefore it
> > would be advise to replace with lockdep_assert_held().
>
> Add "on some architectures" in here somewhere, as it's not broken on the
> large majority of UP cpus :)
>
FWIW, it is confirmed broken on mips (32 and 64 bit), ppc, and sparc64.
I have not tested on x86. Might be worth trying. arm64 seems to be ok,
unless I did something wrong in my test, as well as at least some of
the architectures which don't support smp to start with (such as sparc32
or microblaze).
Guenter
^ permalink raw reply [flat|nested] 5+ messages in thread
end of thread, other threads:[~2014-08-12 6:31 UTC | newest]
Thread overview: 5+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2014-08-12 6:08 [PATCH v2] uas: replace WARN_ON_ONCE() with lockdep_assert_held() Sanjeev Sharma
2014-08-12 5:58 ` Hans de Goede
2014-08-12 6:01 ` Greg KH
2014-08-12 6:28 ` Sharma, Sanjeev
2014-08-12 6:31 ` Guenter Roeck
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).