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