On 05/02/2016 04:15, "Traynor, Kevin" <kevin.tray...@intel.com> wrote:

>
>> -----Original Message-----
>> From: dev [mailto:dev-boun...@openvswitch.org] On Behalf Of Daniele Di
>> Proietto
>> Sent: Friday, February 5, 2016 2:22 AM
>> To: Flavio Leitner; Aaron Conole; Andy Zhou
>> Cc: <dev@openvswitch.org>
>> Subject: Re: [ovs-dev] [PATCH v8 0/5] Convert DPDK configuration from
>>command
>> line to DB based
>> 
>> Sorry for jumping in so late on this.
>> 
>> I'm absolutely not a fan of the way we currently handle DPDK command
>> line options, so thanks Aaron for taking this initiative.
>> 
>> I think that one of the main reasons for this series, correct me if I'm
>> wrong, is that it's currently hard to start OVS with DPDK from the
>> init scripts.
>
>The main benefit I see of these patches is that it removes a requirement
>for
>the user to have knowledge of DPDK init params by providing defaults,
>while
>also catering for a power user who wants to set them.

That's also a good point.

> 
>
>> 
>> The init script 'ovs-ctl' starts both the database and vswitchd.
>> The DPDK parameters should be written by the user in the database
>> with ovs-vsctl, after the database is started, but before vswitchd is.
>> Currently there's no chance to do so.
>> 
>> The user can still influence the behavior of ovs-ctl by editing
>> /etc/default/openvswitch-switch and then ovs-ctl could either
>> populate the database or use command line arguments for
>> ovs-vswitchd.
>> 
>> I'm not an expert on init scripts though, any input is appreciated.
>> 
>> One more thing: DPDK 2.2 made -c and -n optional with commits
>> 4fce65a6be17("eal: default to using all cores") and
>> 19bfa4ddb1a9("eal: make the -n argument optional"), so I'm not sure
>> we should provide a default and expose them to the user.
>
>That's noted for -n.
>+        /* XXX: DPDK 2.2.0 support, the true should become false for -n
>*/
>
>
>Using the DPDK default -c (all cores) is not ideal as it will create a
>thread on every core which will not be used. Anyway, whatever about
>creating something for passing the DPDK init, the real default that is
>now provided is that the control type threads in vswitchd will run with
>the same affinity as vswitchd. That allows for use of the existing
>threading
>model in vswitchd and that by default those threads will float across
>multiple cores as scheduled by Linux.

You're right, I guess it still makes sense for OVS to explicitly pass to
DPDK
a fake '-c'

Thanks for your input

>
>A power
>> user is still able to influence them via the extra options
>
>That's true, they could alternatively be set through extra options.
>
>With the exception of socket-mem, I don't think 99% of users will want to
>set -c or -n anymore once defaults are provided.
>
>Kevin.
>
>> 
>> Daniele
>> 
>> On 04/02/2016 07:38, "Flavio Leitner" <f...@sysclose.org> wrote:
>> 
>> >On Thu, 04 Feb 2016 09:51:05 -0500
>> >Aaron Conole <acon...@redhat.com> wrote:
>> >
>> >> Hi Andy,
>> >>
>> >> Andy Zhou <az...@ovn.org> writes:
>> >> > Sorry for jumping in late in the review cycle. But I am not sure if
>> >> > there is significant advantage in store dpdk options in OVSDB.
>> >>
>> >> No problem - always good to have a fresh pair of eyes. Additionally,
>> >> the cover letter should be updated, because I wrote it in a hurry and
>> >> it doesn't state the advantages clearly.
>> >>
>> >> Thanks very much for the review!
>> >>
>> >> If folks believe this is not worthwhile, or feel the other way, it
>> >> would be nice to hear from them - get an ACK or NAK, or anything
>> >> else? :) I'm okay dropping this, btw, if folks think it isn't
>> >> worthwhile, and all that. I'd prefer not to, given how much work has
>> >> gone into it, though.
>> >>
>> >> > On Fri, Jan 29, 2016 at 9:56 AM, Aaron Conole <acon...@redhat.com>
>> >> > wrote:
>> >> >
>> >> >
>> >> >  Currently, configuration of DPDK parameters is done via the
>> >> > command line through a --dpdk **OPTIONS** -- command line argument.
>> >> > This has a number of challenges, including:
>> >> >  * It must be the first option passed to ovs-vswitchd
>> >> >
>> >> >
>> >> > This can be improved by specifying dpdk options in quotes, as
>> >> > --dpdk "options", then --dpdk can be any where in the command line.
>> >>
>> >> Sure, and that solves the positional requirement, but requiring that
>> >> we have to put quotes around dpdk options (when we _know_ there will
>> >> be many - it's not like you can get away with no options), is really
>> >> hacky. At least, I think so.
>> >
>> >That becomes an exception not only to OVS but to other services.
>> >I found very unusual to have to use:
>> >
>> >--dpdk "-c ff00 --socket-mem=1024,0" --nochdir ....
>> >
>> >and then you have to provide some way to the user to customize that.
>> >
>> >
>> >> >  * It breaks from the way most other things are configured in OVS
>> >> >
>> >> >
>> >> > ovs-vswitchd still has command line options.
>> >>
>> >> Sure, but they're all 'logistic' - where to reach the database, and
>> >> how to configure the logging. None are 'features' (for instance, PMD
>> >> thread affinities).
>> >>
>> >> It remains that dpdk is the only major feature in OVS which requires
>> >> passing command line arguments.
>> >
>> >DPDK options are actually the datapath configuration (how much mem,
>> >which socket, where to run PMDs...) . As we do with other configs,
>> >we should store them in the DB as well, just happen that the kernel DP
>> >doesn't have any.
>> >
>> >[...]
>> >> > The other draw back is to handle version difference -- ovs-vswitchd
>> >> > and dpdk version can change over time, but ovsdb content *should*
>> >> > be compatible across versions. Storing too much configuration
>> >> > parameters make ovsdb become more version dependent.
>> >>
>> >> I can't comment on that. You're probably right, but I don't know what
>> >> the future holds ;)
>> >
>> >Same issue with command line arguments right? Both are exposed to
>> >users, so we would have to keep them around anyway to not break any
>> >scripts.
>> >
>> >--
>> >fbl
>> >
>> >_______________________________________________
>> >dev mailing list
>> >dev@openvswitch.org
>> >http://openvswitch.org/mailman/listinfo/dev
>> 
>> _______________________________________________
>> 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