[ovs-dev] Questions about ovs threads patches

jerry jerry.lilijun at huawei.com
Thu Jun 27 02:23:59 UTC 2013

Thanks for your quickly reply.

I have downloaded the codes of ovs-reviews-thread in your "reviews" repository and doing some test on new patches.

In my test, the multithreaded feature doesn't work and there is no change on ovs-vswitchd threads. Some results of executing "ps -ef | grep ovs" as follows:

linux-kKoZfU:/mnt/sdb/ovs-reviews-threads # ps -ef |grep ovs
root     24039     1  0 09:27 ?        00:00:00 ovsdb-server /usr/local/etc/ovs-vswitchd.conf.db --remote=punix:/usr/local/var/run/openvswitch/db.sock --remote=db:Open_vSwitch,manager_options --pidfile --detach --log-file
root     24042     1  0 09:27 ?        00:00:00 ovs-vswitchd unix:/usr/local/var/run/openvswitch/db.sock --pidfile --detach --log-file
root     24043 24042  0 09:27 ?        00:00:00 ovs-vswitchd: worker process for pid 24042

Then I tried to found threads in procfs info of ovs-vswitchd process with pid 24042. The result of executing "ls /proc/24042/task/" as follows:

linux-kKoZfU:/mnt/sdb/llj/ovs-reviews-threads # ls -l /proc/24042/task/
total 0
dr-xr-xr-x 6 root root 0 Jun 27 09:30 24042

I can't find any place in code where the added function xpthread_create() is called. To make ovs multithreaded, So I expect data structures added in new patches to be used by existing code in the repository.

Would you like to share some thoughts on that test results?


On 2013/6/26 23:32, Ben Pfaff wrote:
> On Wed, Jun 26, 2013 at 04:46:38PM +0800, jerry wrote:
>> I noticed that you have sent out 01~09 of 11 patches on files named
>> ovs-thread.c and ovs-thread.h.
> I sent all of them.
>> But I can't find the last two patch of them. 
> Look in patchwork or in my "reviews" repository:
>         https://github.com/blp/ovs-reviews/branches
>> Also the defined functions and data structures are not used in latest
>> open vswitch codes from git repository.
> Why would you expect data structures added in new patches to be used by
> existing code in the repository?
>> Is your work to make ovs multi-threaded? What's the train of thought
>> on the work?  In my guess, maybe you separate the work of ofproto run
>> or run_fast from ovs-vswitchd process and run the work as a single
>> thread. Is that right?
> That's roughly the idea.

More information about the dev mailing list