linux-kernel.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
* [PATCH] sgi-xp: Do not use BUG_ON(!spin_is_locked())
@ 2014-08-12  7:35 Sanjeev Sharma
  2014-08-12 18:21 ` Robin Holt
                   ` (2 more replies)
  0 siblings, 3 replies; 5+ messages in thread
From: Sanjeev Sharma @ 2014-08-12  7:35 UTC (permalink / raw)
  To: cpw, robinmholt; +Cc: linux-kernel, Sanjeev Sharma, Sanjeev Sharma

on some architecture spin_is_locked() always return false in
uniprocessor configuration and can therefore not be used
with BUG_ON.it would be advise to replace with
lockdep_assert_held().

Signed-off-by: Sanjeev Sharma <Sanjeev_Sharma@mentor.com>
---
 drivers/misc/sgi-xp/xpc_channel.c | 6 +++---
 drivers/misc/sgi-xp/xpc_sn2.c     | 2 +-
 drivers/misc/sgi-xp/xpc_uv.c      | 2 +-
 3 files changed, 5 insertions(+), 5 deletions(-)

diff --git a/drivers/misc/sgi-xp/xpc_channel.c b/drivers/misc/sgi-xp/xpc_channel.c
index 128d561..240fe5a 100644
--- a/drivers/misc/sgi-xp/xpc_channel.c
+++ b/drivers/misc/sgi-xp/xpc_channel.c
@@ -28,7 +28,7 @@ xpc_process_connect(struct xpc_channel *ch, unsigned long *irq_flags)
 {
 	enum xp_retval ret;
 
-	DBUG_ON(!spin_is_locked(&ch->lock));
+	lockdep_assert_held(!spin_is_locked(&ch->lock));
 
 	if (!(ch->flags & XPC_C_OPENREQUEST) ||
 	    !(ch->flags & XPC_C_ROPENREQUEST)) {
@@ -82,7 +82,7 @@ xpc_process_disconnect(struct xpc_channel *ch, unsigned long *irq_flags)
 	struct xpc_partition *part = &xpc_partitions[ch->partid];
 	u32 channel_was_connected = (ch->flags & XPC_C_WASCONNECTED);
 
-	DBUG_ON(!spin_is_locked(&ch->lock));
+	lockdep_assert_held(!spin_is_locked(&ch->lock));
 
 	if (!(ch->flags & XPC_C_DISCONNECTING))
 		return;
@@ -758,7 +758,7 @@ xpc_disconnect_channel(const int line, struct xpc_channel *ch,
 {
 	u32 channel_was_connected = (ch->flags & XPC_C_CONNECTED);
 
-	DBUG_ON(!spin_is_locked(&ch->lock));
+	lockdep_assert_held(!spin_is_locked(&ch->lock));
 
 	if (ch->flags & (XPC_C_DISCONNECTING | XPC_C_DISCONNECTED))
 		return;
diff --git a/drivers/misc/sgi-xp/xpc_sn2.c b/drivers/misc/sgi-xp/xpc_sn2.c
index 7d71c04..f90ee26 100644
--- a/drivers/misc/sgi-xp/xpc_sn2.c
+++ b/drivers/misc/sgi-xp/xpc_sn2.c
@@ -1674,7 +1674,7 @@ xpc_teardown_msg_structures_sn2(struct xpc_channel *ch)
 {
 	struct xpc_channel_sn2 *ch_sn2 = &ch->sn.sn2;
 
-	DBUG_ON(!spin_is_locked(&ch->lock));
+	lockdep_assert_held(!spin_is_locked(&ch->lock));
 
 	ch_sn2->remote_msgqueue_pa = 0;
 
diff --git a/drivers/misc/sgi-xp/xpc_uv.c b/drivers/misc/sgi-xp/xpc_uv.c
index 95c8944..a349940 100644
--- a/drivers/misc/sgi-xp/xpc_uv.c
+++ b/drivers/misc/sgi-xp/xpc_uv.c
@@ -1183,7 +1183,7 @@ xpc_teardown_msg_structures_uv(struct xpc_channel *ch)
 {
 	struct xpc_channel_uv *ch_uv = &ch->sn.uv;
 
-	DBUG_ON(!spin_is_locked(&ch->lock));
+	lockdep_assert_held(!spin_is_locked(&ch->lock));
 
 	kfree(ch_uv->cached_notify_gru_mq_desc);
 	ch_uv->cached_notify_gru_mq_desc = NULL;
-- 
1.7.11.7


^ permalink raw reply related	[flat|nested] 5+ messages in thread

* Re: [PATCH] sgi-xp: Do not use BUG_ON(!spin_is_locked())
  2014-08-12  7:35 [PATCH] sgi-xp: Do not use BUG_ON(!spin_is_locked()) Sanjeev Sharma
@ 2014-08-12 18:21 ` Robin Holt
  2014-08-19  6:37 ` Sharma, Sanjeev
  2014-08-19 23:04 ` Ryan Mallon
  2 siblings, 0 replies; 5+ messages in thread
From: Robin Holt @ 2014-08-12 18:21 UTC (permalink / raw)
  To: Sanjeev Sharma; +Cc: Cliff Wickman (SGI), linux-kernel

On Tue, Aug 12, 2014 at 2:35 AM, Sanjeev Sharma
<sanjeev_sharma@mentor.com> wrote:
> on some architecture spin_is_locked() always return false in
> uniprocessor configuration and can therefore not be used
> with BUG_ON.it would be advise to replace with
> lockdep_assert_held().
>
> Signed-off-by: Sanjeev Sharma <Sanjeev_Sharma@mentor.com>
Acked-by: Robin Holt <robinmholt@gmail.com>

^ permalink raw reply	[flat|nested] 5+ messages in thread

* RE: [PATCH] sgi-xp: Do not use BUG_ON(!spin_is_locked())
  2014-08-12  7:35 [PATCH] sgi-xp: Do not use BUG_ON(!spin_is_locked()) Sanjeev Sharma
  2014-08-12 18:21 ` Robin Holt
@ 2014-08-19  6:37 ` Sharma, Sanjeev
  2014-08-19 23:04 ` Ryan Mallon
  2 siblings, 0 replies; 5+ messages in thread
From: Sharma, Sanjeev @ 2014-08-19  6:37 UTC (permalink / raw)
  To: Sharma, Sanjeev, cpw@sgi.com, robinmholt@gmail.com
  Cc: linux-kernel@vger.kernel.org

Hello Robin,

Who will merge the change in linux-next tree.

Regards
Sanjeev Sharma

-----Original Message-----
From: Sanjeev Sharma [mailto:sanjeev_sharma@mentor.com] 
Sent: Tuesday, August 12, 2014 1:05 PM
To: cpw@sgi.com; robinmholt@gmail.com
Cc: linux-kernel@vger.kernel.org; Sharma, Sanjeev; Sharma, Sanjeev
Subject: [PATCH] sgi-xp: Do not use BUG_ON(!spin_is_locked())

on some architecture spin_is_locked() always return false in uniprocessor configuration and can therefore not be used with BUG_ON.it would be advise to replace with lockdep_assert_held().

Signed-off-by: Sanjeev Sharma <Sanjeev_Sharma@mentor.com>
---
 drivers/misc/sgi-xp/xpc_channel.c | 6 +++---
 drivers/misc/sgi-xp/xpc_sn2.c     | 2 +-
 drivers/misc/sgi-xp/xpc_uv.c      | 2 +-
 3 files changed, 5 insertions(+), 5 deletions(-)

diff --git a/drivers/misc/sgi-xp/xpc_channel.c b/drivers/misc/sgi-xp/xpc_channel.c
index 128d561..240fe5a 100644
--- a/drivers/misc/sgi-xp/xpc_channel.c
+++ b/drivers/misc/sgi-xp/xpc_channel.c
@@ -28,7 +28,7 @@ xpc_process_connect(struct xpc_channel *ch, unsigned long *irq_flags)  {
 	enum xp_retval ret;
 
-	DBUG_ON(!spin_is_locked(&ch->lock));
+	lockdep_assert_held(!spin_is_locked(&ch->lock));
 
 	if (!(ch->flags & XPC_C_OPENREQUEST) ||
 	    !(ch->flags & XPC_C_ROPENREQUEST)) { @@ -82,7 +82,7 @@ xpc_process_disconnect(struct xpc_channel *ch, unsigned long *irq_flags)
 	struct xpc_partition *part = &xpc_partitions[ch->partid];
 	u32 channel_was_connected = (ch->flags & XPC_C_WASCONNECTED);
 
-	DBUG_ON(!spin_is_locked(&ch->lock));
+	lockdep_assert_held(!spin_is_locked(&ch->lock));
 
 	if (!(ch->flags & XPC_C_DISCONNECTING))
 		return;
@@ -758,7 +758,7 @@ xpc_disconnect_channel(const int line, struct xpc_channel *ch,  {
 	u32 channel_was_connected = (ch->flags & XPC_C_CONNECTED);
 
-	DBUG_ON(!spin_is_locked(&ch->lock));
+	lockdep_assert_held(!spin_is_locked(&ch->lock));
 
 	if (ch->flags & (XPC_C_DISCONNECTING | XPC_C_DISCONNECTED))
 		return;
diff --git a/drivers/misc/sgi-xp/xpc_sn2.c b/drivers/misc/sgi-xp/xpc_sn2.c index 7d71c04..f90ee26 100644
--- a/drivers/misc/sgi-xp/xpc_sn2.c
+++ b/drivers/misc/sgi-xp/xpc_sn2.c
@@ -1674,7 +1674,7 @@ xpc_teardown_msg_structures_sn2(struct xpc_channel *ch)  {
 	struct xpc_channel_sn2 *ch_sn2 = &ch->sn.sn2;
 
-	DBUG_ON(!spin_is_locked(&ch->lock));
+	lockdep_assert_held(!spin_is_locked(&ch->lock));
 
 	ch_sn2->remote_msgqueue_pa = 0;
 
diff --git a/drivers/misc/sgi-xp/xpc_uv.c b/drivers/misc/sgi-xp/xpc_uv.c index 95c8944..a349940 100644
--- a/drivers/misc/sgi-xp/xpc_uv.c
+++ b/drivers/misc/sgi-xp/xpc_uv.c
@@ -1183,7 +1183,7 @@ xpc_teardown_msg_structures_uv(struct xpc_channel *ch)  {
 	struct xpc_channel_uv *ch_uv = &ch->sn.uv;
 
-	DBUG_ON(!spin_is_locked(&ch->lock));
+	lockdep_assert_held(!spin_is_locked(&ch->lock));
 
 	kfree(ch_uv->cached_notify_gru_mq_desc);
 	ch_uv->cached_notify_gru_mq_desc = NULL;
--
1.7.11.7


^ permalink raw reply related	[flat|nested] 5+ messages in thread

* Re: [PATCH] sgi-xp: Do not use BUG_ON(!spin_is_locked())
  2014-08-12  7:35 [PATCH] sgi-xp: Do not use BUG_ON(!spin_is_locked()) Sanjeev Sharma
  2014-08-12 18:21 ` Robin Holt
  2014-08-19  6:37 ` Sharma, Sanjeev
@ 2014-08-19 23:04 ` Ryan Mallon
  2014-08-20  5:24   ` Sharma, Sanjeev
  2 siblings, 1 reply; 5+ messages in thread
From: Ryan Mallon @ 2014-08-19 23:04 UTC (permalink / raw)
  To: Sanjeev Sharma, cpw, robinmholt; +Cc: linux-kernel

On 12/08/14 17:35, Sanjeev Sharma wrote:
> on some architecture spin_is_locked() always return false in
> uniprocessor configuration and can therefore not be used
> with BUG_ON.it would be advise to replace with
> lockdep_assert_held().
> 
> Signed-off-by: Sanjeev Sharma <Sanjeev_Sharma@mentor.com>
> ---
>  drivers/misc/sgi-xp/xpc_channel.c | 6 +++---
>  drivers/misc/sgi-xp/xpc_sn2.c     | 2 +-
>  drivers/misc/sgi-xp/xpc_uv.c      | 2 +-
>  3 files changed, 5 insertions(+), 5 deletions(-)
> 
> diff --git a/drivers/misc/sgi-xp/xpc_channel.c b/drivers/misc/sgi-xp/xpc_channel.c
> index 128d561..240fe5a 100644
> --- a/drivers/misc/sgi-xp/xpc_channel.c
> +++ b/drivers/misc/sgi-xp/xpc_channel.c
> @@ -28,7 +28,7 @@ xpc_process_connect(struct xpc_channel *ch, unsigned long *irq_flags)
>  {
>  	enum xp_retval ret;
>  
> -	DBUG_ON(!spin_is_locked(&ch->lock));
> +	lockdep_assert_held(!spin_is_locked(&ch->lock));

This is incorrect, and will break the build with CONFIG_LOCKDEP enabled.
You actually want:

	lockdep_assert_held(&ch->lock);

Same for the other instances.

~Ryan

^ permalink raw reply	[flat|nested] 5+ messages in thread

* RE: [PATCH] sgi-xp: Do not use BUG_ON(!spin_is_locked())
  2014-08-19 23:04 ` Ryan Mallon
@ 2014-08-20  5:24   ` Sharma, Sanjeev
  0 siblings, 0 replies; 5+ messages in thread
From: Sharma, Sanjeev @ 2014-08-20  5:24 UTC (permalink / raw)
  To: Ryan Mallon, cpw@sgi.com, robinmholt@gmail.com
  Cc: linux-kernel@vger.kernel.org

Opps ! Thanks for review comment. Just sent V2 updated patch.

Sanjeev Sharma

-----Original Message-----
From: Ryan Mallon [mailto:rmallon@gmail.com] 
Sent: Wednesday, August 20, 2014 4:34 AM
To: Sharma, Sanjeev; cpw@sgi.com; robinmholt@gmail.com
Cc: linux-kernel@vger.kernel.org
Subject: Re: [PATCH] sgi-xp: Do not use BUG_ON(!spin_is_locked())

On 12/08/14 17:35, Sanjeev Sharma wrote:
> on some architecture spin_is_locked() always return false in 
> uniprocessor configuration and can therefore not be used with 
> BUG_ON.it would be advise to replace with lockdep_assert_held().
> 
> Signed-off-by: Sanjeev Sharma <Sanjeev_Sharma@mentor.com>
> ---
>  drivers/misc/sgi-xp/xpc_channel.c | 6 +++---
>  drivers/misc/sgi-xp/xpc_sn2.c     | 2 +-
>  drivers/misc/sgi-xp/xpc_uv.c      | 2 +-
>  3 files changed, 5 insertions(+), 5 deletions(-)
> 
> diff --git a/drivers/misc/sgi-xp/xpc_channel.c 
> b/drivers/misc/sgi-xp/xpc_channel.c
> index 128d561..240fe5a 100644
> --- a/drivers/misc/sgi-xp/xpc_channel.c
> +++ b/drivers/misc/sgi-xp/xpc_channel.c
> @@ -28,7 +28,7 @@ xpc_process_connect(struct xpc_channel *ch, unsigned 
> long *irq_flags)  {
>  	enum xp_retval ret;
>  
> -	DBUG_ON(!spin_is_locked(&ch->lock));
> +	lockdep_assert_held(!spin_is_locked(&ch->lock));

This is incorrect, and will break the build with CONFIG_LOCKDEP enabled.
You actually want:

	lockdep_assert_held(&ch->lock);

Same for the other instances.

~Ryan

^ permalink raw reply	[flat|nested] 5+ messages in thread

end of thread, other threads:[~2014-08-20  5:24 UTC | newest]

Thread overview: 5+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2014-08-12  7:35 [PATCH] sgi-xp: Do not use BUG_ON(!spin_is_locked()) Sanjeev Sharma
2014-08-12 18:21 ` Robin Holt
2014-08-19  6:37 ` Sharma, Sanjeev
2014-08-19 23:04 ` Ryan Mallon
2014-08-20  5:24   ` Sharma, Sanjeev

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).