Thanks William and Ryan. I applied this to master.
On Mon, May 09, 2016 at 02:33:45PM -0700, William Tu wrote: > Hi Ben and Ryan, > > I've reviewed and tested this patch. It works fine with Helgrind error > resolved. > I applied the to commit 790c5d269 and chunk #4 failed. Since it doesn't do > anything, so I simply ignore it. > > Regards, > William > > > On Sat, Apr 23, 2016 at 2:00 PM, Ryan Moats <rmo...@us.ibm.com> wrote: > > > "dev" <dev-boun...@openvswitch.org> wrote on 04/22/2016 07:04:09 PM: > > > > > From: Ben Pfaff <b...@ovn.org> > > > To: dev@openvswitch.org > > > Cc: Ben Pfaff <b...@ovn.org> > > > Date: 04/22/2016 07:04 PM > > > Subject: [ovs-dev] [PATCH 2/2] netdev: Fix potential deadlock. > > > Sent by: "dev" <dev-boun...@openvswitch.org> > > > > > > Until now, netdev_class_mutex and route_table_mutex could be taken in > > > either order: > > > > > > * netdev_run() takes netdev_class_mutex, then netdev_vport_run() > > calls > > > route_table_run(), which takes route_table_mutex. > > > > > > * route_table_init() takes route_table_mutex and then eventually > > calls > > > netdev_open(), which takes netdev_class_mutex. > > > > > > This commit fixes the problem by converting the netdev_classes hmap, > > > protected by netdev_class_mutex, into a cmap protected on the read > > > side by RCU. Only a very small amount of code actually writes to the > > > cmap in question, so it's a lot easier to understand the locking rules > > > at that point. In particular, there's no need to take netdev_class_mutex > > > from either netdev_run() or netdev_open(), so neither of the code paths > > > above determines a lock ordering any longer. > > > > > > Reported-by: William Tu <u9012...@gmail.com> > > > Reported-at: http://openvswitch.org/pipermail/discuss/2016-February/ > > > 020216.html > > > Signed-off-by: Ben Pfaff <b...@ovn.org> > > > > Yep, this one too... > > > > Acked-by: Ryan Moats <rmo...@us.ibm.com> > > _______________________________________________ > > dev mailing list > > dev@openvswitch.org > > http://openvswitch.org/mailman/listinfo/dev > > _______________________________________________ dev mailing list dev@openvswitch.org http://openvswitch.org/mailman/listinfo/dev