[LEDE-DEV] [PATCH 1/3] ag71xx: Remove timestamp struct member and use trans_start instead

Rosen Penev rosenp at gmail.com
Wed Feb 7 13:54:36 PST 2018


On Wed, Feb 7, 2018 at 5:54 AM, Felix Fietkau <nbd at nbd.name> wrote:
> On 2018-02-06 23:27, Rosen Penev wrote:
>> Small speedup for TX.
>>
>> Based on a Qualcomm commit. ag->timestamp = jiffies was not replaced with netif_trans_update(dev) because of this quote:
>>
>> It should be noted that after this series several instances
>> of netif_trans_update() are useless (if they occur in
>> .ndo_start_xmit and driver doesn't set LLTX flag -- stack already
>> did an update).
>>
>> From: http://lists.openwall.net/netdev/2016/05/03/87
>>
>> Signed-off-by: Rosen Penev <rosenp at gmail.com>
>> ---
>> @@ -930,7 +929,7 @@ static bool ag71xx_check_dma_stuck(struct ag71xx *ag)
>>  {
>>       u32 rx_sm, tx_sm, rx_fd;
>>
>> -     if (likely(time_before(jiffies, ag->timestamp + HZ/10)))
>> +     if (likely(time_before(jiffies, dev_trans_start(ag->dev) + HZ/10)))
> dev_trans_start() does some extra checks that are unnecessary. You
> should use netdev_get_tx_queue(dev, 0)->trans_start instead.
>
Hrm in the patches that drop trans_start from the regular netdev
struct, some drivers were modified to do that and others to use
dev_trans_start. I guess this is why...

Because that specific line got too long, I moved the timestamp
variable into the check_dma_stuck function. I also updated the commit
message.
> - Felix



More information about the Lede-dev mailing list