netdev
[Top] [All Lists]

Re: [PATCH net-drivers-2.6 2/10] e1000: use netif_poll_{enable|disable}

To: Malli Chilakala <mallikarjuna.chilakala@xxxxxxxxx>
Subject: Re: [PATCH net-drivers-2.6 2/10] e1000: use netif_poll_{enable|disable}
From: Francois Romieu <romieu@xxxxxxxxxxxxx>
Date: Tue, 15 Feb 2005 23:05:49 +0100
Cc: "jgarzik@xxxxxxxxx" <jgarzik@xxxxxxxxx>, netdev <netdev@xxxxxxxxxxx>
In-reply-to: <Pine.LNX.4.44.0502151110420.30336-100000@xxxxxxxxxxxxxxxxxxxx>
References: <Pine.LNX.4.44.0502151110420.30336-100000@xxxxxxxxxxxxxxxxxxxx>
Sender: netdev-bounce@xxxxxxxxxxx
User-agent: Mutt/1.4.1i
Malli Chilakala <mallikarjuna.chilakala@xxxxxxxxx> :
[...]
> diff -up net-drivers-2.6/drivers/net/e1000/e1000_main.c 
> net-drivers-2.6/drivers/net/e1000.new/e1000_main.c
> --- net-drivers-2.6/drivers/net/e1000/e1000_main.c    2005-02-01 
> 23:10:24.989105880 -0800
> +++ net-drivers-2.6/drivers/net/e1000.new/e1000_main.c        2005-02-01 
> 23:10:26.709844288 -0800
> @@ -308,6 +308,9 @@ e1000_up(struct e1000_adapter *adapter)
>       mod_timer(&adapter->watchdog_timer, jiffies);
>       e1000_irq_enable(adapter);
>  
> +#ifdef CONFIG_E1000_NAPI
> +     netif_poll_enable(netdev);
> +#endif
>       return 0;
>  }
>  

It leaves a small(*) window where the irq handler will do nothing with
the events it receives. If netif_poll_enable() is issued before
e1000_irq_enable(), the problem disappears.

[*] Assuming CONFIG_PREEMPT=n

--
Ueimor

<Prev in Thread] Current Thread [Next in Thread>