netdev.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
* [PATCH] napi: use non-interruptible sleep in napi_disable
@ 2007-10-25  3:59 Benjamin Herrenschmidt
  2007-10-25  5:10 ` Jeff Garzik
  0 siblings, 1 reply; 3+ messages in thread
From: Benjamin Herrenschmidt @ 2007-10-25  3:59 UTC (permalink / raw)
  To: netdev; +Cc: linux-kernel

The current napi_disable() uses msleep_interruptible() but doesn't
(and can't) exit in case there's a signal, thus ending up doing a
hot spin without a cpu_relax. Use uninterruptible sleep instead.

Signed-off-by: Benjamin Herrenschmidt <benh@kernel.crashing.org>
---

 include/linux/netdevice.h |    2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

Index: linux-work/include/linux/netdevice.h
===================================================================
--- linux-work.orig/include/linux/netdevice.h	2007-10-17 12:39:16.000000000 +1000
+++ linux-work/include/linux/netdevice.h	2007-10-17 12:45:00.000000000 +1000
@@ -390,7 +390,7 @@ static inline void napi_complete(struct 
 static inline void napi_disable(struct napi_struct *n)
 {
 	while (test_and_set_bit(NAPI_STATE_SCHED, &n->state))
-		msleep_interruptible(1);
+		msleep(1);
 }
 
 /**

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

* Re: [PATCH] napi: use non-interruptible sleep in napi_disable
  2007-10-25  3:59 [PATCH] napi: use non-interruptible sleep in napi_disable Benjamin Herrenschmidt
@ 2007-10-25  5:10 ` Jeff Garzik
  2007-10-26 11:23   ` David Miller
  0 siblings, 1 reply; 3+ messages in thread
From: Jeff Garzik @ 2007-10-25  5:10 UTC (permalink / raw)
  To: Benjamin Herrenschmidt; +Cc: netdev, linux-kernel, Andrew Morton

Benjamin Herrenschmidt wrote:
> The current napi_disable() uses msleep_interruptible() but doesn't
> (and can't) exit in case there's a signal, thus ending up doing a
> hot spin without a cpu_relax. Use uninterruptible sleep instead.
> 
> Signed-off-by: Benjamin Herrenschmidt <benh@kernel.crashing.org>
> ---
> 
>  include/linux/netdevice.h |    2 +-
>  1 file changed, 1 insertion(+), 1 deletion(-)
> 
> Index: linux-work/include/linux/netdevice.h
> ===================================================================
> --- linux-work.orig/include/linux/netdevice.h	2007-10-17 12:39:16.000000000 +1000
> +++ linux-work/include/linux/netdevice.h	2007-10-17 12:45:00.000000000 +1000
> @@ -390,7 +390,7 @@ static inline void napi_complete(struct 
>  static inline void napi_disable(struct napi_struct *n)
>  {
>  	while (test_and_set_bit(NAPI_STATE_SCHED, &n->state))
> -		msleep_interruptible(1);
> +		msleep(1);
>  }

ACK



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

* Re: [PATCH] napi: use non-interruptible sleep in napi_disable
  2007-10-25  5:10 ` Jeff Garzik
@ 2007-10-26 11:23   ` David Miller
  0 siblings, 0 replies; 3+ messages in thread
From: David Miller @ 2007-10-26 11:23 UTC (permalink / raw)
  To: jeff; +Cc: benh, netdev, linux-kernel, akpm

From: Jeff Garzik <jeff@garzik.org>
Date: Thu, 25 Oct 2007 01:10:32 -0400

> Benjamin Herrenschmidt wrote:
> > The current napi_disable() uses msleep_interruptible() but doesn't
> > (and can't) exit in case there's a signal, thus ending up doing a
> > hot spin without a cpu_relax. Use uninterruptible sleep instead.
> > 
> > Signed-off-by: Benjamin Herrenschmidt <benh@kernel.crashing.org>
 ...
> ACK

Applied, thanks everyone.

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

end of thread, other threads:[~2007-10-26 11:23 UTC | newest]

Thread overview: 3+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2007-10-25  3:59 [PATCH] napi: use non-interruptible sleep in napi_disable Benjamin Herrenschmidt
2007-10-25  5:10 ` Jeff Garzik
2007-10-26 11:23   ` David Miller

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