Thx, Daniele also reminded me of that, will fold that in with the patch.

On Thu, Sep 25, 2014 at 2:07 PM, Justin Pettit <jpet...@nicira.com> wrote:

> Don't forget to add Daniel to AUTHORS.
>
> --Justin
>
>
> On September 25, 2014 at 1:27:30 PM, Alex Wang (al...@nicira.com) wrote:
> > When kernel cannot obtain the pci numa info, the numa_node file
> > in corresponding pci directory in sysfs will show -1. Then the
> > rte_eth_dev_socket_id() function will return it to ovs. On
> > current master, ovs assumes rte_eth_dev_socket_id() always
> > returns non-negative value. So using this -1 in pmd thread
> > creation will cause ovs crash.
> >
> > To fix the above issue, this commit makes ovs always check the
> > return value of rte_eth_dev_socket_id() and use numa node 0 if
> > the return value is negative.
> >
> > Reported-by: Daniel Badea
> > Signed-off-by: Alex Wang
> > ---
> > lib/netdev-dpdk.c | 7 ++++++-
> > 1 file changed, 6 insertions(+), 1 deletion(-)
> >
> > diff --git a/lib/netdev-dpdk.c b/lib/netdev-dpdk.c
> > index 50ea965..9c93768 100644
> > --- a/lib/netdev-dpdk.c
> > +++ b/lib/netdev-dpdk.c
> > @@ -485,13 +485,18 @@ netdev_dpdk_init(struct netdev *netdev_, unsigned
> int port_no)
> > OVS_REQUIRES(dpdk_mutex)
> > {
> > struct netdev_dpdk *netdev = netdev_dpdk_cast(netdev_);
> > + int sid;
> > int err = 0;
> >
> > ovs_mutex_init(&netdev->mutex);
> >
> > ovs_mutex_lock(&netdev->mutex);
> >
> > - netdev->socket_id = rte_eth_dev_socket_id(port_no);
> > + /* If the 'sid' is negative, it means that the kernel fails
> > + * to obtain the pci numa info. In that situation, always
> > + * use 'SOCKET0'. */
> > + sid = rte_eth_dev_socket_id(port_no);
> > + netdev->socket_id = sid < 0 ? SOCKET0 : sid;
> > netdev_dpdk_alloc_txq(netdev, NR_QUEUE);
> > netdev->port_id = port_no;
> > netdev->flags = 0;
> > --
> > 1.7.9.5
> >
> > _______________________________________________
> > dev mailing list
> > dev@openvswitch.org
> > http://openvswitch.org/mailman/listinfo/dev
> >
>
>
_______________________________________________
dev mailing list
dev@openvswitch.org
http://openvswitch.org/mailman/listinfo/dev

Reply via email to