Subject: Re: bonding with 3c59x driver

From: Rick Jones <[email-masked]>
Date: Tue, 14 Feb 2012 10:27:05 -0800

On 02/14/2012 03:13 AM, Eric Dumazet wrote:
> Le mardi 14 février 2012 à 12:06 +0100, Steffen Klassert a écrit :
>> On Tue, Feb 14, 2012 at 11:22:10AM +0100, Jean Delvare wrote:
>>>
>>> Well I am still curious why the 3c59x driver has such slow polling when
>>> other drivers I have been testing are able to report almost instantly
>>> when I remove a network cable. Could it be that other network chips
>>> generate an interrupt on cable removal and the 3com chips do not?
>>>
>>
>> Yes, at least some of the supported chips do not generate an interrupt
>> on cable removal, so we have to check for this with a timer.
>> --
>
> We could have a 5 sec timer in case device is a slave.
>
> diff --git a/drivers/net/ethernet/3com/3c59x.c b/drivers/net/ethernet/3com/3c59x.c
> index 1282f04..e463d10 100644
> --- a/drivers/net/ethernet/3com/3c59x.c
> +++ b/drivers/net/ethernet/3com/3c59x.c
> @@ -1841,7 +1841,7 @@ vortex_timer(unsigned long data)
>   		ok = 1;
>   	}
>
> -	if (!netif_carrier_ok(dev))
> +	if (dev->flags&  IFF_SLAVE || !netif_carrier_ok(dev))
>   		next_tick = 5*HZ;
>
>   	if (vp->medialock)

Does the device being a slave in a bond change the overheads of the 
check being performed?

rick jones