[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <4E5F7249.8020408@hitachi.com>
Date: Thu, 01 Sep 2011 20:53:45 +0900
From: HAYASAKA Mitsuo <mitsuo.hayasaka.hu@...achi.com>
To: Eric Dumazet <eric.dumazet@...il.com>
Cc: Herbert Xu <herbert@...dor.apana.org.au>,
Stephen Hemminger <shemminger@...tta.com>,
Patrick McHardy <kaber@...sh.net>,
"David S. Miller" <davem@...emloft.net>,
MichałMirosław <mirq-linux@...e.qmqm.pl>,
Tom Herbert <therbert@...gle.com>,
Jesse Gross <jesse@...ira.com>, netdev@...r.kernel.org,
linux-kernel@...r.kernel.org, yrl.pp-manager.tt@...achi.com
Subject: Re: [PATCH net-next] net: linkwatch: allow vlans to get carrier changes
faster
Hi Eric,
I checked this patch solves the time-lag of IFF_RUNNING flag consistency
between vlan and real devices.
Cheers.
Tested-by: Mitsuo Hayasaka <mitsuo.hayasaka.hu@...achi.com>
(2011/08/31 18:31), Eric Dumazet wrote:
> There is a time-lag of IFF_RUNNING flag consistency between vlan and
> real devices when the real devices are in problem such as link or cable
> broken.
>
> This leads to a degradation of Availability such as a delay of failover
> in HA systems using vlan since the detection of the problem at real
> device is delayed.
>
> We can avoid the linkwatch delay (~1 sec) for devices linked to another
> ones, since delay is already done for the realdev.
>
> Based on a previous patch from Mitsuo Hayasaka
>
> Reported-by: Mitsuo Hayasaka <mitsuo.hayasaka.hu@...achi.com>
> Signed-off-by: Eric Dumazet <eric.dumazet@...il.com>
> Cc: Herbert Xu <herbert@...dor.apana.org.au>
> Cc: Patrick McHardy <kaber@...sh.net>
> Cc: "Michał Mirosław" <mirq-linux@...e.qmqm.pl>
> Cc: Tom Herbert <therbert@...gle.com>
> Cc: Stephen Hemminger <shemminger@...tta.com>
> Cc: Jesse Gross <jesse@...ira.com>
> ---
> net/core/link_watch.c | 9 +++++++--
> 1 file changed, 7 insertions(+), 2 deletions(-)
>
> diff --git a/net/core/link_watch.c b/net/core/link_watch.c
> index 357bd4e..c3519c6 100644
> --- a/net/core/link_watch.c
> +++ b/net/core/link_watch.c
> @@ -78,8 +78,13 @@ static void rfc2863_policy(struct net_device *dev)
>
> static bool linkwatch_urgent_event(struct net_device *dev)
> {
> - return netif_running(dev) && netif_carrier_ok(dev) &&
> - qdisc_tx_changing(dev);
> + if (!netif_running(dev))
> + return false;
> +
> + if (dev->ifindex != dev->iflink)
> + return true;
> +
> + return netif_carrier_ok(dev) && qdisc_tx_changing(dev);
> }
>
>
>
>
> --
> To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
> the body of a message to majordomo@...r.kernel.org
> More majordomo info at http://vger.kernel.org/majordomo-info.html
> Please read the FAQ at http://www.tux.org/lkml/
>
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@...r.kernel.org
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/
Powered by blists - more mailing lists