[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-Id: <20120210.132557.396788563105190450.davem@davemloft.net>
Date: Fri, 10 Feb 2012 13:25:57 -0500 (EST)
From: David Miller <davem@...emloft.net>
To: steffen.klassert@...unet.com
Cc: timo.teras@....fi, netdev@...r.kernel.org
Subject: Re: [PATCH 0/4] Fix routing metrics
From: Steffen Klassert <steffen.klassert@...unet.com>
Date: Fri, 10 Feb 2012 09:44:25 +0100
> On Fri, Feb 10, 2012 at 03:12:11AM -0500, David Miller wrote:
>> From: Steffen Klassert <steffen.klassert@...unet.com>
>> Date: Fri, 10 Feb 2012 08:51:07 +0100
>>
>> > On Fri, Feb 10, 2012 at 02:38:15AM -0500, David Miller wrote:
>> >> From: Steffen Klassert <steffen.klassert@...unet.com>
>> >> >
>> >> > I fully agree with you here. But we check for the genid just in
>> >> > rt_init_metrics() which is invoked only on route cache entry
>> >> > creation. There is no check when the metrics are accessed,
>> >> > because the metrics on the inetpeer are valid on every access.
>> >>
>> >> Every routing cache entry we will use after the flush will be
>> >> a newly created one! All the old ones will be stop being used.
>> >
>> > Yes, I know that. All inetpeer metrics are updated once with the
>> > first new routing cache entry that binds that inetpeer to the route.
>>
>> And after a routing cache flush, that will be all routing cache
>> entries every used after that point.
>
> Yes, the genid check happens once for every new routing cache entry
> we recreate. After that, we'll find maching routes in the cache
> and we don't do that check.
>
>>
>> So since this happens, you don't need to check the inetpeer at every
>> metric access. The fact that all routing cache entries get recreated
>> will do it for you.
>
> So if rt_init_metrics() is not the right place to check for genid
> changes, where would you suggest to do it?
It is the right place, and since it will happen there for every routing
cache entry we use after a flush, the inetpeer issues will be taken
care of by it. Therefore you don't need to check anything at metrics
access time.
--
To unsubscribe from this list: send the line "unsubscribe netdev" in
the body of a message to majordomo@...r.kernel.org
More majordomo info at http://vger.kernel.org/majordomo-info.html
Powered by blists - more mailing lists