[<prev] [next>] [<thread-prev] [day] [month] [year] [list]
Message-Id: <20140213.175732.676150849615456691.davem@davemloft.net>
Date: Thu, 13 Feb 2014 17:57:32 -0500 (EST)
From: David Miller <davem@...emloft.net>
To: jon.maloy@...csson.com
Cc: netdev@...r.kernel.org, paul.gortmaker@...driver.com,
erik.hugne@...csson.com, ying.xue@...driver.com, maloy@...jonn.com,
tipc-discussion@...ts.sourceforge.net
Subject: Re: [PATCH net-next v2 00/14] tipc: clean up media and bearer layer
From: Jon Maloy <jon.maloy@...csson.com>
Date: Thu, 13 Feb 2014 17:29:04 -0500
> This commit series aims at facilitating future changes to the
> locking policy around nodes, links and bearers.
>
> Currently, we have a big read/write lock (net_lock) that is used for
> serializing all changes to the node, link and bearer lists, as well
> as to their mutual pointers and references.
>
> But, in order to allow for concurrent access to the contents of these
> structures, net_lock is only used in read mode by the data path code,
> and hence a finer granular locking policy must be applied inside the
> scope of net_lock: a spinlock (node_lock) for each node structure,
> and another one (bearer_lock) for protection of bearer structures.
>
> This locking policy has proved hard to maintain. We have several
> times encountered contention problems between node_lock and
> bearer_lock, and with the advent of the RCU locking mechanism we
> feel it is anyway obsolete and ripe for improvements.
>
> We now plan to replace net_lock with an RCU lock, as well as
> getting rid of bearer_lock altogether. This will both reduce data
> path overhead and make the code more manageable, while reducing the
> risk of future lock contention problems.
>
> Prior to these changes, we need to do some necessary cleanup and
> code consolidation. This is what we do with this commit series,
> before we finally remove bearer_lock. In a later series we will
> replace net_lock with an RCU lock.
>
> v2:
> - Re-inserted a removed kerneldoc entry in commit#5, based on
> feedback from D. Miller.
Series applied, thanks.
--
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