Re: [ovs-dev] [thread-safety 02/11] stp: Make the STP module thread safe.

2013-08-01 Thread Ben Pfaff
On Tue, Jul 30, 2013 at 05:50:02PM -0700, Ethan Jackson wrote: > > There are definitely ways around the thread safety analysis. My > > feeling is that we should be pretty strict about it except in modules > > where contention is a real problem. > > > >> Why does stp need a recursive mutex? I don'

Re: [ovs-dev] [thread-safety 02/11] stp: Make the STP module thread safe.

2013-07-30 Thread Ethan Jackson
> There are definitely ways around the thread safety analysis. My > feeling is that we should be pretty strict about it except in modules > where contention is a real problem. > >> Why does stp need a recursive mutex? I don't see any natural >> recursion here. So looking back at this, I'd like t

Re: [ovs-dev] [thread-safety 02/11] stp: Make the STP module thread safe.

2013-07-29 Thread Ethan Jackson
> Some of the functions take the mutex gratuitously, e.g. because they > access immutable state. One example is stp_get_name(). I guess that > these are not a big deal because this is not going to be performance > critical, but at some point we'll hit some performance-critical case > where we don

Re: [ovs-dev] [thread-safety 02/11] stp: Make the STP module thread safe.

2013-07-29 Thread Ben Pfaff
On Fri, Jul 26, 2013 at 06:07:03PM -0700, Ethan Jackson wrote: > Signed-off-by: Ethan Jackson In stp_unref(), the list_remove() needs to be guarded by the mutex. Some of the annotations are only on the function prototypes and not the definitions. Although the compiler is OK with this, it would

[ovs-dev] [thread-safety 02/11] stp: Make the STP module thread safe.

2013-07-26 Thread Ethan Jackson
Signed-off-by: Ethan Jackson --- lib/stp.c | 360 +--- lib/stp.h |3 +- ofproto/ofproto-dpif.c |2 +- tests/test-stp.c |2 +- 4 files changed, 280 insertions(+), 87 deletions(-) diff --git a/lib/stp.c b/lib/