All of lore.kernel.org
 help / color / mirror / Atom feed
From: <sameehj@amazon.com>
To: <davem@davemloft.net>, <netdev@vger.kernel.org>
Cc: Arthur Kiyanovski <akiyano@amazon.com>, <dwmw@amazon.com>,
	<zorik@amazon.com>, <matua@amazon.com>, <saeedb@amazon.com>,
	<msw@amazon.com>, <aliguori@amazon.com>, <nafea@amazon.com>,
	<gtzalik@amazon.com>, <netanel@amazon.com>, <alisaidi@amazon.com>,
	<benh@amazon.com>, <sameehj@amazon.com>, <ndagan@amazon.com>
Subject: [PATCH V1 net-next 02/13] net: ena: avoid unnecessary admin command when RSS function set fails
Date: Wed, 22 Apr 2020 08:16:17 +0000	[thread overview]
Message-ID: <20200422081628.8103-3-sameehj@amazon.com> (raw)
In-Reply-To: <20200422081628.8103-1-sameehj@amazon.com>

From: Arthur Kiyanovski <akiyano@amazon.com>

Currently when ena_set_hash_function() fails the hash function is
restored to the previous value by calling an admin command to get
the hash function from the device.

In this commit we avoid the admin command, by saving the previous
hash function before calling ena_set_hash_function() and using this
previous value to restore the hash function in case of failure of
ena_set_hash_function().

Signed-off-by: Sameeh Jubran <sameehj@amazon.com>
Signed-off-by: Arthur Kiyanovski <akiyano@amazon.com>
---
 drivers/net/ethernet/amazon/ena/ena_com.c | 4 +++-
 1 file changed, 3 insertions(+), 1 deletion(-)

diff --git a/drivers/net/ethernet/amazon/ena/ena_com.c b/drivers/net/ethernet/amazon/ena/ena_com.c
index 07b0f396d3c2..66edc86c41c9 100644
--- a/drivers/net/ethernet/amazon/ena/ena_com.c
+++ b/drivers/net/ethernet/amazon/ena/ena_com.c
@@ -2286,6 +2286,7 @@ int ena_com_fill_hash_function(struct ena_com_dev *ena_dev,
 	struct ena_admin_get_feat_resp get_resp;
 	struct ena_admin_feature_rss_flow_hash_control *hash_key =
 		rss->hash_key;
+	enum ena_admin_hash_functions old_func;
 	int rc;
 
 	/* Make sure size is a mult of DWs */
@@ -2325,12 +2326,13 @@ int ena_com_fill_hash_function(struct ena_com_dev *ena_dev,
 		return -EINVAL;
 	}
 
+	old_func = rss->hash_func;
 	rss->hash_func = func;
 	rc = ena_com_set_hash_function(ena_dev);
 
 	/* Restore the old function */
 	if (unlikely(rc))
-		ena_com_get_hash_function(ena_dev, NULL, NULL);
+		rss->hash_func = old_func;
 
 	return rc;
 }
-- 
2.24.1.AMZN


  parent reply	other threads:[~2020-04-22  8:16 UTC|newest]

Thread overview: 22+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2020-04-22  8:16 [PATCH V1 net-next 00/13] Enhance current features in ena driver sameehj
2020-04-22  8:16 ` [PATCH V1 net-next 01/13] net: ena: fix error returning in ena_com_get_hash_function() sameehj
2020-04-23  0:34   ` Jakub Kicinski
2020-04-23  0:35   ` Jakub Kicinski
2020-04-26  9:43     ` Jubran, Samih
2020-04-22  8:16 ` sameehj [this message]
2020-04-23  0:39   ` [PATCH V1 net-next 02/13] net: ena: avoid unnecessary admin command when RSS function set fails Jakub Kicinski
2020-04-23  0:42     ` Jakub Kicinski
2020-04-26  9:45       ` Jubran, Samih
2020-04-22  8:16 ` [PATCH V1 net-next 03/13] net: ena: allow setting the hash function without changing the key sameehj
2020-04-22  8:16 ` [PATCH V1 net-next 04/13] net: ena: change default RSS hash function to Toeplitz sameehj
2020-04-22  8:16 ` [PATCH V1 net-next 05/13] net: ena: changes to RSS hash key allocation sameehj
2020-04-22  8:16 ` [PATCH V1 net-next 06/13] net: ena: remove code that does nothing sameehj
2020-04-22  8:16 ` [PATCH V1 net-next 07/13] net: ena: add unmask interrupts statistics to ethtool sameehj
2020-04-22  8:16 ` [PATCH V1 net-next 08/13] net: ena: add support for reporting of packet drops sameehj
2020-04-23  0:47   ` Jakub Kicinski
2020-04-28  7:30     ` Jubran, Samih
2020-04-22  8:16 ` [PATCH V1 net-next 09/13] net: ena: implement ena_com_get_admin_polling_mode() sameehj
2020-04-22  8:16 ` [PATCH V1 net-next 10/13] net: ena: use SHUTDOWN as reset reason when closing interface sameehj
2020-04-22  8:16 ` [PATCH V1 net-next 11/13] net: ena: move llq configuration from ena_probe to ena_device_init() sameehj
2020-04-22  8:16 ` [PATCH V1 net-next 12/13] net: ena: cosmetic: remove unnecessary spaces and tabs in ena_com.h macros sameehj
2020-04-22  8:16 ` [PATCH V1 net-next 13/13] net: ena: cosmetic: extract code to ena_indirection_table_set() sameehj

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=20200422081628.8103-3-sameehj@amazon.com \
    --to=sameehj@amazon.com \
    --cc=akiyano@amazon.com \
    --cc=aliguori@amazon.com \
    --cc=alisaidi@amazon.com \
    --cc=benh@amazon.com \
    --cc=davem@davemloft.net \
    --cc=dwmw@amazon.com \
    --cc=gtzalik@amazon.com \
    --cc=matua@amazon.com \
    --cc=msw@amazon.com \
    --cc=nafea@amazon.com \
    --cc=ndagan@amazon.com \
    --cc=netanel@amazon.com \
    --cc=netdev@vger.kernel.org \
    --cc=saeedb@amazon.com \
    --cc=zorik@amazon.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.