netdev
[Top] [All Lists]

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

To: "Chilakala, Mallikarjuna" <mallikarjuna.chilakala@xxxxxxxxx>
Subject: RE: [PATCH net-drivers-2.6 2/10] e1000: use netif_poll_{enable|disable}
From: "Venkatesan, Ganesh" <ganesh.venkatesan@xxxxxxxxx>
Date: Tue, 15 Feb 2005 14:48:24 -0800
Cc: <jgarzik@xxxxxxxxx>, <netdev@xxxxxxxxxxx>, "Francois Romieu" <romieu@xxxxxxxxxxxxx>
Sender: netdev-bounce@xxxxxxxxxxx
Thread-index: AcUTqrfdjyH9arwZTs+p9xHUF3m4RAAA3PTQAABqAzA=
Thread-topic: [PATCH net-drivers-2.6 2/10] e1000: use netif_poll_{enable|disable}
I agree that this causes our ISR to be called where no useful work will
be done -- netif_rx_schedule_prep() will fail till netif_poll_enable is
called.
However, there should not be any adverse side effects due to this.

Will fix this in the next release.

Ganesh.

>-----Original Message-----
>From: Chilakala, Mallikarjuna
>Sent: Tuesday, February 15, 2005 2:32 PM
>To: Venkatesan, Ganesh
>Subject: FW: [PATCH net-drivers-2.6 2/10] e1000: use
>netif_poll_{enable|disable}
>
>
>
>-----Original Message-----
>From: Francois Romieu [mailto:romieu@xxxxxxxxxxxxx]
>Sent: Tuesday, February 15, 2005 2:06 PM
>To: Chilakala, Mallikarjuna
>Cc: jgarzik@xxxxxxxxx; netdev
>Subject: Re: [PATCH net-drivers-2.6 2/10] e1000: use
>netif_poll_{enable|disable}
>
>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>