Subject: Re: [PATCH] hso: add missing last_rx setting

From: Eric Dumazet <[email-masked]>
Date: Tue, 09 Jun 2009 16:37:26 +0200

Paulius Zaleckas a écrit :
> David Miller wrote:
>> From: Paulius Zaleckas <[email-masked]>
>> Date: Thu, 04 Jun 2009 18:50:23 +0300
>>
>>> Signed-off-by: Paulius Zaleckas <[email-masked]>
>> The core networking does this now for the drivers, they
>> don't need to do it themselves any longer.
> 
> Where? I couldn't find it even in net-next...

vi +1937 include/linux/netdevice.h

/* On bonding slaves other than the currently active slave, suppress
 * duplicates except for 802.3ad ETH_P_SLOW, alb non-mcast/bcast, and
 * ARP on active-backup slaves with arp_validate enabled.
 */
static inline int skb_bond_should_drop(struct sk_buff *skb)
{
        struct net_device *dev = skb->dev;
        struct net_device *master = dev->master;

        if (master) {
                if (master->priv_flags & IFF_MASTER_ARPMON)
                        dev->last_rx = jiffies;

...

commit 6cf3f41e6c08bca6641a695449791c38a25f35ff
Author: Jay Vosburgh <[email-masked]>
Date:   Mon Nov 3 18:16:50 2008 -0800

    bonding, net: Move last_rx update into bonding recv logic

        The only user of the net_device->last_rx field is bonding.
    This patch adds a conditional update of last_rx to the bonding special
    logic in skb_bond_should_drop, causing last_rx to only be updated when
    the ARP monitor is running.

        This frees network device drivers from the necessity of
    updating last_rx, which can have cache line thrash issues.

    Signed-off-by: Jay Vosburgh <[email-masked]>
    Signed-off-by: David S. Miller <[email-masked]>