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
next prev parent 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