All of lore.kernel.org
 help / color / mirror / Atom feed
From: Bruce Richardson <bruce.richardson@intel.com>
To: "Ma, WenwuX" <wenwux.ma@intel.com>
Cc: "Burakov, Anatoly" <anatoly.burakov@intel.com>,
	"dev@dpdk.org" <dev@dpdk.org>, "Hu, Jiayu" <jiayu.hu@intel.com>,
	"Wang, Yinan" <yinan.wang@intel.com>,
	"He, Xingguang" <xingguang.he@intel.com>
Subject: Re: [PATCH] examples/multi_process: add options to control port configuration
Date: Fri, 18 Feb 2022 10:22:22 +0000	[thread overview]
Message-ID: <Yg9zXkO7hpURBAU0@bricha3-MOBL.ger.corp.intel.com> (raw)
In-Reply-To: <SA0PR11MB4526DBF8ACC3FD968EAA8D2EEB379@SA0PR11MB4526.namprd11.prod.outlook.com>

On Fri, Feb 18, 2022 at 10:10:58AM +0000, Ma, WenwuX wrote:
> 
> 
> > -----Original Message-----
> > From: Richardson, Bruce <bruce.richardson@intel.com>
> > Sent: 2022年2月18日 17:42
> > To: Ma, WenwuX <wenwux.ma@intel.com>
> > Cc: Burakov, Anatoly <anatoly.burakov@intel.com>; dev@dpdk.org; Hu,
> > Jiayu <jiayu.hu@intel.com>; Wang, Yinan <yinan.wang@intel.com>; He,
> > Xingguang <xingguang.he@intel.com>
> > Subject: Re: [PATCH] examples/multi_process: add options to control port
> > configuration
> >
> > On Fri, Feb 18, 2022 at 06:49:19AM +0000, Ma, WenwuX wrote:
> > >
> > >
> > > > -----Original Message-----
> > > > From: Richardson, Bruce <bruce.richardson@intel.com>
> > > > Sent: 2022年2月17日 17:06
> > > > To: Ma, WenwuX <wenwux.ma@intel.com>
> > > > Cc: Burakov, Anatoly <anatoly.burakov@intel.com>; dev@dpdk.org; Hu,
> > > > Jiayu <jiayu.hu@intel.com>; Wang, Yinan <yinan.wang@intel.com>; He,
> > > > Xingguang <xingguang.he@intel.com>
> > > > Subject: Re: [PATCH] examples/multi_process: add options to control
> > > > port configuration
> > > >
> > > > On Thu, Feb 17, 2022 at 03:17:55PM +0000, Wenwu Ma wrote:
> > > > > The default values of rx mq_mode and rx offloads for port will
> > > > > cause symmetric_mp startup failure if the port do not support rss or
> > csum.
> > > > > Therefore, we added two new options --rx-mq-mode and
> > > > > --rx-offloads, through which the user can set the values
> > > > > appropriately according to the situation to make app startup normally.
> > > > >
> > > > > Signed-off-by: Wenwu Ma <wenwux.ma@intel.com> ---
> > > >
> > > > The idea seems reasonable enough, but I think the implementation
> > > > requiring the user to pass in special "magic numbers" for the
> > > > offload values is not a good idea. Perhaps add in a separate flag for "no-
> > csum" to disable that.
> > > >
> > > > For the no-rss case, can you explain how you would see this app
> > > > being used in the absense of RSS support to distribute traffic among
> > > > the separate processes?
> > >
> > > When app run in qemu vm and the backend is dpdk vhost, it will report
> > error below:
> > > "virtio_dev_configure(): RSS support requested but not supported by the
> > device"
> >
> > Sure, I understand that. But how does it make sense to run multiple copies of
> > the app if RSS cannot be used to spread the traffic between the instances?
> 
> in test case, vhost backend has 2 queues, and we set fwd as txonly, and in vm, we run app as follows
> 
> ./examples/multi_process/symmetric_mp/build/symmetric_mp -l 1 -n 4 --proc-type=auto -- -p 3 --num-procs=2 --proc-id=0
> ./examples/multi_process/symmetric_mp/build/symmetric_mp -l 2 -n 4 --proc-type=secondary -- -p 3 --num-procs=2 --proc-id=1
> 
> So,  instance 0 receive pkts in queue 0, and instance 1 receive pkts in queue 1.
> 
Interesting. So with vhost/virtio, the distribution of the traffic to
queues in entirely controls by the backend without the virtio PMD being
able to control it?

Anyway, if we want to allow running the app without rss, I would echo the
comment I made about "csum", in that we probably just want a suitably named
flag for it, rather than just requiring magic numbers from the user.

Two options therefore I'd suggest:
1. just make the app ignore errors with csum and RSS - if they are not
supported by a NIC, just log a warning and run the app anyway,
reconfiguring the NIC without them. Only quit the app if the second
reconfiguration fails.
2. Add explicit --no-csum and --no-rss flags.

I would actually tend towards the first option as more usable, but the
second could work too.

/Bruce

  reply	other threads:[~2022-02-18 10:22 UTC|newest]

Thread overview: 12+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2022-02-17 15:17 [PATCH] examples/multi_process: add options to control port configuration Wenwu Ma
2022-02-17  9:06 ` Bruce Richardson
2022-02-18  6:49   ` Ma, WenwuX
2022-02-18  9:41     ` Bruce Richardson
2022-02-18 10:10       ` Ma, WenwuX
2022-02-18 10:22         ` Bruce Richardson [this message]
2022-02-21 15:35 ` [PATCH v2] examples/multi_process: reconfigure port when rss or csum isn't supported Wenwu Ma
2022-02-21  9:21   ` Bruce Richardson
2022-02-22 10:51 ` [PATCH v3] " Wenwu Ma
2022-02-22  9:41   ` Bruce Richardson
2022-02-28  7:55     ` Ling, WeiX
2022-03-08 13:22       ` Thomas Monjalon

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=Yg9zXkO7hpURBAU0@bricha3-MOBL.ger.corp.intel.com \
    --to=bruce.richardson@intel.com \
    --cc=anatoly.burakov@intel.com \
    --cc=dev@dpdk.org \
    --cc=jiayu.hu@intel.com \
    --cc=wenwux.ma@intel.com \
    --cc=xingguang.he@intel.com \
    --cc=yinan.wang@intel.com \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.