[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Date: Thu, 4 Apr 2013 18:07:06 +0200
From: Jiri Pirko <jiri@...nulli.us>
To: Eric Dumazet <eric.dumazet@...il.com>
Cc: David Miller <davem@...emloft.net>, vfalico@...hat.com,
netdev@...r.kernel.org, stephen@...workplumber.org
Subject: Re: [PATCH net-next] bridge: remove a redundant synchronize_net()
Thu, Apr 04, 2013 at 05:44:47PM CEST, eric.dumazet@...il.com wrote:
>On Thu, 2013-04-04 at 17:35 +0200, Jiri Pirko wrote:
>
>> It can be converted now to call_rcu. synchronize_rcu is making sure
>> no packet is in flight when changing modes.
>
>What changes exactly ? You don't really answer to my question with this
>very vague sentence.
Sorry for vagueness. We discussed this in thread from Oct 2011:
Subject: [patch net-next V2] net: introduce ethernet teaming device
purpose of synchronize_rcu() here (instead of call_rcu) was to ensure that
rx_handler can not be in progress when __team_change_mode() changes
team->ops.receive to NULL
>
>Because maybe the synchronize_net() in netdev_rx_handler_unregister()
>is enough and you dont even need the call_rcu(). Thats was my question.
Yes, you are right. kfree(port) can be called right away.
>
>RCU barriers are not magical things we add when we are not exactly sure
>of what is happening.
I always thought that synchronize_rcu() is from the magic land of elfs and fairies...
>
>Like other barriers (wmb(), smb_wmb(), ...) we should document or
>understand why they are needed.
>
>
--
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