[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-Id: <20120210.023815.192069104397847238.davem@davemloft.net>
Date: Fri, 10 Feb 2012 02:38:15 -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 07:50:31 +0100
> On Thu, Feb 09, 2012 at 01:40:10PM -0500, David Miller wrote:
>> From: Steffen Klassert <steffen.klassert@...unet.com>
>> >
>> > Hm, I still don't get your point. Could you specify this please?
>> >
>> > When a route cache entry is created and the peer_genid does not match
>> > the genid on the inetpeer, fresh inetpeer metrics are allocated and
>> > then published. After that, the new metrics are in proper state and
>> > ready to use.
>>
>> Right, which is exactly what you want to happen.
>>
>> Checking on every metric access is therefore pointless and needless.
>>
>> The peer_genid only increments when the routing cache is flushed,
>> therefore every subsequent access to the metrics will go through the
>> route cache entry creation path first, and therefore that will make
>> sure fresh inetpeer metrics will be allocated since the peer_genid
>> does not match.
>
> 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.
--
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