On Tue, Apr 23, 2013 at 3:28 PM, Thomas Graf <tg...@redhat.com> wrote:
> On 04/23/2013 10:39 PM, Jesse Gross wrote:
>>
>> On Fri, Apr 19, 2013 at 7:01 AM, Thomas Graf <tg...@redhat.com> wrote:
>>>
>>> diff --git a/datapath/vport-netdev.c b/datapath/vport-netdev.c
>>> index f8948fa..c0e3c02 100644
>>> --- a/datapath/vport-netdev.c
>>> +++ b/datapath/vport-netdev.c
>>> @@ -153,10 +161,16 @@ static struct vport *netdev_create(const struct
>>> vport_parms *parms)
>>>          }
>>>
>>>          rtnl_lock();
>>> +#ifdef HAVE_RHEL_OVS_HOOK
>>> +       netdev_vport->dev->ax25_ptr = vport;
>>> +       atomic_inc(&nr_bridges);
>>> +       openvswitch_handle_frame_hook = netdev_frame_hook;
>>
>>
>> Shouldn't these assignments use rcu_assign_pointer?
>
>
> Are you worried about a missing wmb? The hook is only used if
> IFF_OVS_DATAPATH is set on skb->dev and there should be a wmb when
> the device is actually added to the list of vports I guess.
>
> I have no problem adding it though.

I agree that in practice there are other memory barriers that will
protect this. However, since the locks that they are associated with
aren't really protecting this, it makes it more difficult to reason
about than necessary. Since we're using RCU it seems like a good idea
to use the whole mechanism.
_______________________________________________
dev mailing list
dev@openvswitch.org
http://openvswitch.org/mailman/listinfo/dev

Reply via email to