Intel-Wired-Lan Archive on lore.kernel.org
 help / color / mirror / Atom feed
From: Venkataramanan, Anirudh <anirudh.venkataramanan@intel.com>
To: intel-wired-lan@osuosl.org
Subject: [Intel-wired-lan] [PATCH net v1] iavf-linux: Fix reporting when setting descriptor count
Date: Tue, 5 Oct 2021 20:14:51 +0000	[thread overview]
Message-ID: <b1c06b44e13d88e0a42056d5e06b90f82facce01.camel@intel.com> (raw)
In-Reply-To: <5437f421-e935-6484-4f8b-ed6751e9bae1@molgen.mpg.de>

On Thu, 2021-09-23 at 09:44 +0200, Paul Menzel wrote:
> Dear Michal,
> 
> 
> Am 23.09.21 um 09:14 schrieb Michal Maloszewski:
> > iavf_set_ringparams doesn't communicate to the user that
> > 
> > 1. The user requested descriptor count is out of range. Instead it
> > ??? just quietly sets descriptors to the "clamped" value and calls
> > it
> > ??? done. This makes it look an invalid value was successfully set
> > as
> > ??? the descriptor count when this isn't actually true.
> > 
> > 2. The user provided descriptor count needs to be inflated for
> > alignment
> > ??? reasons.
> > 
> > This behavior is confusing. The ice driver has already addressed
> > this
> 
> Please reference the commit.

That'd be commit fcea6f3da546 ("ice: Add stats and ethtool support").

> 
> > by rejecting invalid values for and messaging for alignment
> > adjustments.
> 
> Values for what?

This should have been 
"by rejecting invalid values for descriptor count".

> 
> > Do the same thing here.
> 
> ? by adding the error and info messages.

Not necessary IMHO, given that the commit message does explain the
issue being addressed.

> 
> > Title: iavf-linux: Fix reporting when setting descriptor count
> 
> This tag is not needed, is it?

Yeah, this is some extra commit metadata from our internal repo. This
should have been removed before the patch was hit IWL.

Michal,

Please remove this line, and also change the title "iavf-linux: Fix
reporting when setting descriptor count" to be "iavf: Fix reporting
when setting descriptor count"

Ani

> 
> > Fixes: 129cf89e5856 ("iavf: rename functions and structs to new
> > name")
> > Signed-off-by: Anirudh Venkataramanan <   
> > anirudh.venkataramanan at intel.com>
> > Signed-off-by: Michal Maloszewski <michal.maloszewski@intel.com>
> > ---
> > ? .../net/ethernet/intel/iavf/iavf_ethtool.c??? | 43
> > ++++++++++++++-----
> > ? 1 file changed, 32 insertions(+), 11 deletions(-)
> > 
> > diff --git a/drivers/net/ethernet/intel/iavf/iavf_ethtool.c
> > b/drivers/net/ethernet/intel/iavf/iavf_ethtool.c
> > index 7cbe59bee..cbfc8d07a 100644
> > --- a/drivers/net/ethernet/intel/iavf/iavf_ethtool.c
> > +++ b/drivers/net/ethernet/intel/iavf/iavf_ethtool.c
> > @@ -612,23 +612,44 @@ static int iavf_set_ringparam(struct
> > net_device *netdev,
> > ????????if ((ring->rx_mini_pending) || (ring->rx_jumbo_pending))
> > ????????????????return -EINVAL;
> > ? 
> > -???????new_tx_count = clamp_t(u32, ring->tx_pending,
> > -????????????????????????????? IAVF_MIN_TXD,
> > -????????????????????????????? IAVF_MAX_TXD);
> > -???????new_tx_count = ALIGN(new_tx_count,
> > IAVF_REQ_DESCRIPTOR_MULTIPLE);
> > +???????if (ring->tx_pending > IAVF_MAX_TXD ||
> > +?????????? ring->tx_pending < IAVF_MIN_TXD ||
> > +?????????? ring->rx_pending > IAVF_MAX_RXD ||
> > +?????????? ring->rx_pending < IAVF_MIN_RXD) {
> > +???????????????? netdev_err(netdev, "Descriptors requested (Tx: %d
> > / Rx: %d) out of range [%d-%d] (increment %d)\n",
> > +??????????????????????????? ring->tx_pending, ring->rx_pending,
> > IAVF_MIN_TXD,
> > +??????????????????????????? IAVF_MAX_RXD,
> > IAVF_REQ_DESCRIPTOR_MULTIPLE);
> > +???????????????? return -EINVAL;
> > +???????}
> > +
> > +???????new_tx_count = ALIGN(ring->tx_pending,
> > IAVF_REQ_DESCRIPTOR_MULTIPLE);
> > +???????if (new_tx_count != ring->tx_pending)
> > +???????????????netdev_info(netdev, "Requested Tx descriptor count
> > rounded up to %d\n",
> > +?????????????????????????? new_tx_count);
> > ? 
> > -???????new_rx_count = clamp_t(u32, ring->rx_pending,
> > -????????????????????????????? IAVF_MIN_RXD,
> > -????????????????????????????? IAVF_MAX_RXD);
> > -???????new_rx_count = ALIGN(new_rx_count,
> > IAVF_REQ_DESCRIPTOR_MULTIPLE);
> > +???????new_rx_count = ALIGN(ring->rx_pending,
> > IAVF_REQ_DESCRIPTOR_MULTIPLE);
> > +???????if (new_rx_count != ring->rx_pending)
> > +???????????????netdev_info(netdev, "Requested Rx descriptor count
> > rounded up to %d\n",
> > +?????????????????????????? new_rx_count);
> > ? 
> > ????????/* if nothing to do return success */
> > ????????if ((new_tx_count == adapter->tx_desc_count) &&
> > -?????????? (new_rx_count == adapter->rx_desc_count))
> > +?????????? (new_rx_count == adapter->rx_desc_count)) {
> > +???????????????netdev_dbg(netdev, "Nothing to change, descriptor
> > count is same as requested\n");
> > ????????????????return 0;
> > +???????}
> > ? 
> > -???????adapter->tx_desc_count = new_tx_count;
> > -???????adapter->rx_desc_count = new_rx_count;
> > +???????if (new_tx_count != adapter->tx_desc_count) {
> > +???????????????netdev_info(netdev, "Changing Tx descriptor count
> > from %d to %d\n",
> > +?????????????????????????? adapter->tx_desc_count, new_tx_count);
> > +???????????????adapter->tx_desc_count = new_tx_count;
> > +???????}
> > +
> > +???????if (new_rx_count != adapter->rx_desc_count) {
> > +???????????????netdev_info(netdev, "Changing Rx descriptor count
> > from %d to %d\n",
> > +?????????????????????????? adapter->rx_desc_count, new_rx_count);
> > +???????????????adapter->rx_desc_count = new_rx_count;
> > +???????}
> > ? 
> > ????????if (netif_running(netdev)) {
> > ????????????????adapter->flags |= IAVF_FLAG_RESET_NEEDED;
> > 
> _______________________________________________
> Intel-wired-lan mailing list
> Intel-wired-lan at osuosl.org
> https://lists.osuosl.org/mailman/listinfo/intel-wired-lan


  reply	other threads:[~2021-10-05 20:14 UTC|newest]

Thread overview: 5+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2021-09-23  7:14 [Intel-wired-lan] [PATCH net v1] iavf-linux: Fix reporting when setting descriptor count Michal Maloszewski
2021-09-23  7:44 ` Paul Menzel
2021-10-05 20:14   ` Venkataramanan, Anirudh [this message]
2021-10-06  6:05     ` Paul Menzel
  -- strict thread matches above, loose matches on Subject: below --
2021-10-05 14:29 Michal Maloszewski

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=b1c06b44e13d88e0a42056d5e06b90f82facce01.camel@intel.com \
    --to=anirudh.venkataramanan@intel.com \
    --cc=intel-wired-lan@osuosl.org \
    /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 a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox