OpenVZ Forum


Home » Mailing lists » Devel » [PATCH] [NETNS49] support for per/namespace routing cache cleanup
Re: [PATCH] [NETNS49] support for per/namespace routing cache cleanup [message #21963 is a reply to message #21956] Thu, 18 October 2007 09:53 Go to previous messageGo to previous message
den is currently offline  den
Messages: 494
Registered: December 2005
Senior Member
Benjamin Thery wrote:
> Denis V. Lunev wrote:
>> Daniel Lezcano wrote:
>>> Oh, by the way, I forgot something important you spotted with the list
>>> protected by the mutex.
>>>
>>> When looking at ipv6/fib_hash.c with Benjamin, we need to browse the
>>> network namespaces list for the garbage collecting, but we are in an
>>> interrupt handler, so I can not use rtnl_lock.
>> where exactly....
> 
> Actually, it is in net/ipv6/ip6_fib.c, in fib6_clean_all().
> 
> fib6_clean_all() is called by fib6_run_gc() handler of the 
> ip6_fib_timer. 
> If we don't want to have one such timer per net namespace, in 
> fib6_clean_all() we have to go through all net to clean their own
> fib_table_hash (using for_each_net() protected by rtnl_lock).

The locking in mainstream is different with NETNS49.

I have proposed to add a dev_base_lock to protect namespace list for 
atomic context to be in sync with rtnl usage.

May be we should introduce an additional one. I also do not see other 
way for that place. May be you can copy my approach with generations for 
IPv6 code. I'll send a new version in a minute.

Regards,
	Den
 
Read Message
Read Message
Read Message
Read Message
Read Message
Read Message
Read Message
Read Message
Read Message
Read Message
Read Message
Read Message
Read Message
Read Message
Read Message
Read Message
Read Message
Read Message
Read Message
Previous Topic: Re: 2.6.23-mm1 s390 driver problem
Next Topic: [PATCH 2/3] [NETNS49] Add struct net to all calls for rt_cache_flush
Goto Forum:
  


Current Time: Mon Aug 18 05:45:49 GMT 2025

Total time taken to generate the page: 0.24924 seconds