Re: [ovs-dev] [PATCH v3] datapath: Simplify datapath locking.

2013-04-10 Thread Jesse Gross
On Wed, Apr 10, 2013 at 11:40 AM, Pravin Shelar wrote: > On Wed, Apr 10, 2013 at 9:01 AM, Jesse Gross wrote: >> By the way, I think we may be able to make the workqueue compatibility >> code conditional on version again. The comment says that we were >> having problems with waiting on genl mutex

Re: [ovs-dev] [PATCH v3] datapath: Simplify datapath locking.

2013-04-10 Thread Pravin Shelar
On Wed, Apr 10, 2013 at 10:32 AM, Jesse Gross wrote: > On Wed, Apr 10, 2013 at 9:01 AM, Jesse Gross wrote: > > On Tue, Apr 9, 2013 at 9:04 PM, Pravin Shelar > wrote: > >> On Tue, Apr 9, 2013 at 6:41 PM, Jesse Gross wrote: > >>> I think there is potentially another race condition here: if a > >

Re: [ovs-dev] [PATCH v3] datapath: Simplify datapath locking.

2013-04-10 Thread Pravin Shelar
On Wed, Apr 10, 2013 at 9:01 AM, Jesse Gross wrote: > On Tue, Apr 9, 2013 at 9:04 PM, Pravin Shelar wrote: > > On Tue, Apr 9, 2013 at 6:41 PM, Jesse Gross wrote: > >> On Tue, Apr 9, 2013 at 3:03 PM, Pravin B Shelar > >> wrote: > >> > diff --git a/datapath/datapath.h b/datapath/datapath.h > >>

Re: [ovs-dev] [PATCH v3] datapath: Simplify datapath locking.

2013-04-10 Thread Jesse Gross
On Wed, Apr 10, 2013 at 9:01 AM, Jesse Gross wrote: > On Tue, Apr 9, 2013 at 9:04 PM, Pravin Shelar wrote: >> On Tue, Apr 9, 2013 at 6:41 PM, Jesse Gross wrote: >>> I think there is potentially another race condition here: if a >>> notification comes after we retrieve the value of count but befo

Re: [ovs-dev] [PATCH v3] datapath: Simplify datapath locking.

2013-04-10 Thread Jesse Gross
On Tue, Apr 9, 2013 at 9:04 PM, Pravin Shelar wrote: > On Tue, Apr 9, 2013 at 6:41 PM, Jesse Gross wrote: >> On Tue, Apr 9, 2013 at 3:03 PM, Pravin B Shelar >> wrote: >> > diff --git a/datapath/datapath.h b/datapath/datapath.h >> > index 9bc98fb..58d7169 100644 >> > --- a/datapath/datapath.h >>

Re: [ovs-dev] [PATCH v3] datapath: Simplify datapath locking.

2013-04-09 Thread Pravin Shelar
On Tue, Apr 9, 2013 at 6:41 PM, Jesse Gross wrote: > On Tue, Apr 9, 2013 at 3:03 PM, Pravin B Shelar > wrote: > > diff --git a/datapath/datapath.c b/datapath/datapath.c > > index 9cd4b0e..f0191ce 100644 > > --- a/datapath/datapath.c > > +++ b/datapath/datapath.c > > /** > > * DOC: Locking: >

Re: [ovs-dev] [PATCH v3] datapath: Simplify datapath locking.

2013-04-09 Thread Jesse Gross
On Tue, Apr 9, 2013 at 3:03 PM, Pravin B Shelar wrote: > diff --git a/datapath/datapath.c b/datapath/datapath.c > index 9cd4b0e..f0191ce 100644 > --- a/datapath/datapath.c > +++ b/datapath/datapath.c > /** > * DOC: Locking: > * > - * Writes to device state (add/remove datapath, port, set oper

[ovs-dev] [PATCH v3] datapath: Simplify datapath locking.

2013-04-09 Thread Pravin B Shelar
Currently OVS uses combination of genl and rtnl lock to protect datapath state. This was done due to networking stack locking. But this has complicated locking and there are few lock ordering issues with new tunneling protocols. Following patch simplifies locking by introducing new ovs_mutex and n