All of lore.kernel.org
 help / color / mirror / Atom feed
From: Prashant Sreedharan <prashant@broadcom.com>
To: Jakub Kicinski <jakub.kicinski@netronome.com>
Cc: "netdev@vger.kernel.org" <netdev@vger.kernel.org>,
	David Miller <davem@davemloft.net>,
	Michael Chan <mchan@broadcom.com>,
	"Amit Kumar Salecha" <amit.salecha@qlogic.com>,
	Ben Hutchings <ben@decadent.org.uk>, <siva.kallam@broadcom.com>
Subject: Re: Question regarding {G,S}CHANNELS API
Date: Thu, 7 Jan 2016 13:24:24 -0800	[thread overview]
Message-ID: <1452201864.13470.27.camel@prashant> (raw)
In-Reply-To: <20160107154324.4081743c@jkicinski-Precision-T1700>

On Thu, 2016-01-07 at 15:43 +0000, Jakub Kicinski wrote:
> Hi!
> 
> I'm trying to understand how number of "separate" rx/tx vs combined
> channels should be configured.  I'd like to express asymmetric but
> mostly combined queue configuration (i.e. min(rx, tx) is combined the
> rest is separate).  Since default number of RX queues is just 8 it is
> tempting to allocate 8 RX queues but num_online_cpus() TX queues.  Does
> this configuration make sense?  What should ethtool -l report?
> 
> I had a look through the drivers and it seems that most of them fall
> nicely into the all combined and all separate categories. Two
> exceptions I found are bnxt_en (recent Michael's changes) and tg3.
> bnxt_en can switch between combined and separate mode.  tg3 is more
> interesting, it uses separate rx/tx parameters but combines first
> min(rx, tx) of the queues as I would like to.

It does not combine it takes the max(rx, tx)
u32 irq_cnt = max(tp->rxq_cnt, tp->txq_cnt);

> 
> The problem is if I hijack the "separate" rx/tx queues parameters like
> tg3 does there is no way for the user to express that (s)he truly wants
> them separate.  Also it seems that tg3 goes against the ethtool manual
> which states:
> >  rx N   Changes the number of channels with only receive queues.
> >  tx N   Changes the number of channels with only transmit queues.
> Which indicates that if user wants 8 rx, 12 tx and combining (s)he
> should do:
>   ethtool -L ethX combined 8 tx 4

there is no combined option only separate tx/rx option is supported by
tg3 driver. And at max only 4 RX, 4 TX rings are supported by the tg3
family of chips in non-iov mode.

Each status block (which is similar to completion ring) supports 1 RX or
1 TX or both. So at max there are 4 status blocks plus 1 additional
status block for async events. And each status block is assigned a irq.

  reply	other threads:[~2016-01-07 21:47 UTC|newest]

Thread overview: 4+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2016-01-07 15:43 Question regarding {G,S}CHANNELS API Jakub Kicinski
2016-01-07 21:24 ` Prashant Sreedharan [this message]
2016-01-08 11:41   ` Jakub Kicinski
2016-01-08 18:17     ` Prashant Sreedharan

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=1452201864.13470.27.camel@prashant \
    --to=prashant@broadcom.com \
    --cc=amit.salecha@qlogic.com \
    --cc=ben@decadent.org.uk \
    --cc=davem@davemloft.net \
    --cc=jakub.kicinski@netronome.com \
    --cc=mchan@broadcom.com \
    --cc=netdev@vger.kernel.org \
    --cc=siva.kallam@broadcom.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.