Hi,
Please don't drop the list, it could be interesting to more people.
On 09/08/2016 06:55 PM, Junguk Cho wrote:
Hi, Mauricio.
Thank you for reply.
I have following questions.
Are you using physical ports?
If yes, are they physically connected to socket1?
Currently, I did not add physical ports. I just add ring devices.
However, later I will use physcal ports also.
How will I know physical port is connected to socket1?
You should get the pci address of the device (using lspci for example)
and then you can use
cat /sys/bus/pci/devices/.../numa_node
In addition, if it is connected into socket1, it may uses multiple
sockets.
Is it right?
I am not totally sure about it, I think that ovs only creates PMD
threads in the same socket of the device, it is a bad idea to process
the packets in another socket as them would have to pass from one
processor to another reducing the performance.
I am planning to both sockets for multiple ring devices.
Would you please elaborate "but due to DPDK limitations it is not
possible to implemented it in a clean way right now"?
There are two limitations basically, the first one is that the socket of
a ring device can only be specified at creation time, the second one is
that a ring device can not be destroyed.
Unfortunately, in ovs there is not a way to select the socket of the
device when creating it, so the implementation would require to first
create the device and then change the socket of it, what is not possible.
The only idea that I have on mind is to use the name of the device in
order to determine the socket where it has to be created, a cleaner
solution requires further support of DPDK,
Regards,
Mauricio V.
Thanks,
Junguk
2016-09-08 10:05 GMT-06:00 Mauricio Vasquez
<mauricio.vasq...@polito.it <mailto:mauricio.vasq...@polito.it>>:
Hi Junguk,
On 09/08/2016 05:07 PM, Junguk Cho wrote:
Hi, I used OVS with dpdk.
When I started ovs, I used this option to pin some cores for ovs.
sudo ovs-vsctl --no-wait set Open_vSwitch .
other_config:pmd-cpu-mask=0xf0000000
In my setup, it has two sockets, but with this option, two cores in first
socket shows 100% cpu utilization.
Are you using physical ports? If yes, are they physically
connected to socket1?
In addition, when I created dpdk ring
devices, they are created in only first socket.
Does current version of OVS with dpdk support multiple sockets?
Yes and not, it is supported for dpdk physical ports.
Unfortunately dpdkr ports are only created in the first socket,
the code should be modified to create them in other socket. Some
time ago I was thinking on a solution for it, but due to DPDK
limitations it is not possible to implemented it in a clean way
right now. If you only need to have rings in the second socket,
you just have to change the socket parameter in the call to
rte_eth_from_rings(), on the other hand, if you need to have rings
on both sockets it could be possible to implement a logic based on
the port number, something like rings from 0 to 99 are processed
in socket0 and from 100 to 199 in socket1. Of course these are
just workarounds that could not be integrated in ovs.
If so, are there other options to use both?
Thanks,
Junguk
_______________________________________________
dev mailing list
d...@openvswitch.org <mailto:d...@openvswitch.org>
http://openvswitch.org/mailman/listinfo/dev
<http://openvswitch.org/mailman/listinfo/dev>
Mauricio V,
_______________________________________________
discuss mailing list
discuss@openvswitch.org
http://openvswitch.org/mailman/listinfo/discuss