On Tue, Sep 6, 2011 at 7:02 PM, Pravin Shelar <pshe...@nicira.com> wrote:
> Following patch fixes rcu-dereferences-check warning msg by annotating rcu
> dereferences for BH context.
>
> ----------------------8<----------------------------------
> ===================================================
> [ INFO: suspicious rcu_dereference_check() usage. ]
> ---------------------------------------------------
> /root/ovs-cl1/hash3/datapath/linux/datapath.c:298 invoked
> rcu_dereference_check() without protection!
>
> /root/ovs-cl1/hash3/datapath/linux/actions.c:360 invoked
> rcu_dereference_check() without protection!
> /root/ovs-cl1/hash3/datapath/linux/actions.c:210 invoked
> rcu_dereference_check() without protection!

One of the things that has been floating around for a long time is
whether we should just run all packet processing with bottom halves
disabled.  This would simplify things a little bit and be more
consistent with the rest of the networking stack.  It's actually
already true for everything except packets that we inject from
userspace (since every other packet comes from the network stack,
which has bottom halves disabled).  Since it's a such a small
percentage of packets, I think it's worth doing (simply by turning
rcu_read_lock into rcu_read_lock_bh in ovs_packet_cmd_execute()) and
then you can simplify your checks in this patch as well.

Otherwise, I think this makes sense.
_______________________________________________
dev mailing list
dev@openvswitch.org
http://openvswitch.org/mailman/listinfo/dev

Reply via email to