[PATCH 3/3] net: hisilicon: new hip04 ethernet driver

zhangfei
2014-04-18T13:17:52Z

Dear David

On 04/08/2014 02:53 AM, David Miller wrote:

>> +static void hip04_tx_reclaim(struct net_device *ndev, bool force)
> ...
>> +static void hip04_xmit_timer(unsigned long data)
>> +{
>> + struct net_device *ndev = (void *) data;
>> +
>> + hip04_tx_reclaim(ndev, false);
>> +}
> ...
>> + mod_timer(&priv->txtimer, jiffies + RECLAIM_PERIOD);
>
> And this is where I stop reading your driver, I've stated already that this
> kind of reclaim scheme is unacceptable.
>
> The kernel timers lack the granularity necessary to service TX reclaim
> with a reasonable amount of latency.
>
> You must use some kind of hardware notification of TX slots becomming
> available, I find it totally impossible that a modern ethernet controller
> was created without a TX done interrupt.
>

There is no tx_done interrupt, we may need some workaround.

Is it acceptable to use poll to reclaim the xmitted buffer.
And in the xmit calling napi_schedule.

Thanks