From: Sergei Shtylyov <sergei.shtylyov@cogentembedded.com> To: Ethan Zhao <ethan.zhao@oracle.com>, jeffrey.t.kirsher@intel.com, jesse.brandeburg@intel.com, shannon.nelson@intel.com, carolyn.wyborny@intel.com, donald.c.skidmore@intel.com, bruce.w.allan@intel.com, john.ronciak@intel.com, mitch.a.williams@intel.com, intel-wired-lan@lists.osuosl.org, netdev@vger.kernel.org Cc: linux-kernel@vger.kernel.org, ethan.kernel@gmail.com Subject: Re: [PATCH] ixgbe: take online CPU number as MQ max limit when alloc_etherdev_mq() Date: Fri, 13 May 2016 15:52:43 +0300 [thread overview] Message-ID: <c7bd9abf-55c0-f0d6-5cb2-45fbd6358d18@cogentembedded.com> (raw) In-Reply-To: <1463118995-31763-1-git-send-email-ethan.zhao@oracle.com> Hello. On 5/13/2016 8:56 AM, Ethan Zhao wrote: > Allocating 64 Tx/Rx as default doesn't benefit perfomrnace when less Performance. > CPUs were assigned. especially when DCB is enabled, so we should take > num_online_cpus() as top limit, and aslo to make sure every TC has Also. > at least one queue, take the MAX_TRAFFIC_CLASS as bottom limit of queues > number. > > Signed-off-by: Ethan Zhao <ethan.zhao@oracle.com> > --- > drivers/net/ethernet/intel/ixgbe/ixgbe_main.c | 4 ++++ > 1 file changed, 4 insertions(+) > > diff --git a/drivers/net/ethernet/intel/ixgbe/ixgbe_main.c b/drivers/net/ethernet/intel/ixgbe/ixgbe_main.c > index 7df3fe2..1f9769c 100644 > --- a/drivers/net/ethernet/intel/ixgbe/ixgbe_main.c > +++ b/drivers/net/ethernet/intel/ixgbe/ixgbe_main.c > @@ -9105,6 +9105,10 @@ static int ixgbe_probe(struct pci_dev *pdev, const struct pci_device_id *ent) > indices = IXGBE_MAX_RSS_INDICES; > #endif > } > + /* Don't allocate too more queues than online cpus number */ "Too" not needed here. CPUs. > + indices = min_t(int, indices, num_online_cpus()); > + /* To make sure TC works, allocate at least 1 queue per TC */ > + indices = max_t(int, indices, MAX_TRAFFIC_CLASS); > > netdev = alloc_etherdev_mq(sizeof(struct ixgbe_adapter), indices); > if (!netdev) { MBR, Sergei
WARNING: multiple messages have this Message-ID (diff)
From: Sergei Shtylyov <sergei.shtylyov@cogentembedded.com> To: intel-wired-lan@osuosl.org Subject: [Intel-wired-lan] [PATCH] ixgbe: take online CPU number as MQ max limit when alloc_etherdev_mq() Date: Fri, 13 May 2016 15:52:43 +0300 [thread overview] Message-ID: <c7bd9abf-55c0-f0d6-5cb2-45fbd6358d18@cogentembedded.com> (raw) In-Reply-To: <1463118995-31763-1-git-send-email-ethan.zhao@oracle.com> Hello. On 5/13/2016 8:56 AM, Ethan Zhao wrote: > Allocating 64 Tx/Rx as default doesn't benefit perfomrnace when less Performance. > CPUs were assigned. especially when DCB is enabled, so we should take > num_online_cpus() as top limit, and aslo to make sure every TC has Also. > at least one queue, take the MAX_TRAFFIC_CLASS as bottom limit of queues > number. > > Signed-off-by: Ethan Zhao <ethan.zhao@oracle.com> > --- > drivers/net/ethernet/intel/ixgbe/ixgbe_main.c | 4 ++++ > 1 file changed, 4 insertions(+) > > diff --git a/drivers/net/ethernet/intel/ixgbe/ixgbe_main.c b/drivers/net/ethernet/intel/ixgbe/ixgbe_main.c > index 7df3fe2..1f9769c 100644 > --- a/drivers/net/ethernet/intel/ixgbe/ixgbe_main.c > +++ b/drivers/net/ethernet/intel/ixgbe/ixgbe_main.c > @@ -9105,6 +9105,10 @@ static int ixgbe_probe(struct pci_dev *pdev, const struct pci_device_id *ent) > indices = IXGBE_MAX_RSS_INDICES; > #endif > } > + /* Don't allocate too more queues than online cpus number */ "Too" not needed here. CPUs. > + indices = min_t(int, indices, num_online_cpus()); > + /* To make sure TC works, allocate at least 1 queue per TC */ > + indices = max_t(int, indices, MAX_TRAFFIC_CLASS); > > netdev = alloc_etherdev_mq(sizeof(struct ixgbe_adapter), indices); > if (!netdev) { MBR, Sergei
next prev parent reply other threads:[~2016-05-13 12:52 UTC|newest] Thread overview: 21+ messages / expand[flat|nested] mbox.gz Atom feed top 2016-05-13 5:56 [PATCH] ixgbe: take online CPU number as MQ max limit when alloc_etherdev_mq() Ethan Zhao 2016-05-13 5:56 ` [Intel-wired-lan] " Ethan Zhao 2016-05-13 12:52 ` Sergei Shtylyov [this message] 2016-05-13 12:52 ` Sergei Shtylyov 2016-05-16 5:38 ` ethan zhao 2016-05-16 5:38 ` [Intel-wired-lan] " ethan zhao 2016-05-13 16:46 ` Alexander Duyck 2016-05-13 16:46 ` [Intel-wired-lan] " Alexander Duyck 2016-05-16 2:59 ` ethan zhao 2016-05-16 2:59 ` [Intel-wired-lan] " ethan zhao 2016-05-16 16:09 ` Alexander Duyck 2016-05-16 16:09 ` [Intel-wired-lan] " Alexander Duyck 2016-05-16 17:14 ` John Fastabend 2016-05-16 17:14 ` John Fastabend 2016-05-17 9:00 ` ethan zhao 2016-05-17 9:00 ` [Intel-wired-lan] " ethan zhao 2016-05-17 15:58 ` Alexander Duyck 2016-05-17 15:58 ` [Intel-wired-lan] " Alexander Duyck 2016-05-16 20:58 ` Jeff Kirsher 2016-05-16 20:58 ` [Intel-wired-lan] " Jeff Kirsher 2016-05-16 20:58 ` Jeff Kirsher
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=c7bd9abf-55c0-f0d6-5cb2-45fbd6358d18@cogentembedded.com \ --to=sergei.shtylyov@cogentembedded.com \ --cc=bruce.w.allan@intel.com \ --cc=carolyn.wyborny@intel.com \ --cc=donald.c.skidmore@intel.com \ --cc=ethan.kernel@gmail.com \ --cc=ethan.zhao@oracle.com \ --cc=intel-wired-lan@lists.osuosl.org \ --cc=jeffrey.t.kirsher@intel.com \ --cc=jesse.brandeburg@intel.com \ --cc=john.ronciak@intel.com \ --cc=linux-kernel@vger.kernel.org \ --cc=mitch.a.williams@intel.com \ --cc=netdev@vger.kernel.org \ --cc=shannon.nelson@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: linkBe 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.