Re: [PATCH net-next] net: mana: Implement get_ringparam/set_ringparam for mana
From: Shradha Gupta <hidden>
Date: 2024-07-16 05:50:20
Also in:
linux-hyperv, linux-rdma, lkml
On Mon, Jul 15, 2024 at 02:28:42PM +0100, Simon Horman wrote:
On Sun, Jul 14, 2024 at 08:40:20PM -0700, Shradha Gupta wrote:quoted
Currently the values of WQs for RX and TX queues for MANA devices are hardcoded to default sizes. Allow configuring these values for MANA devices as ringparam configuration(get/set) through ethtool_ops. Signed-off-by: Shradha Gupta <redacted> Reviewed-by: Haiyang Zhang <haiyangz@microsoft.com> Reviewed-by: Long Li <longli@microsoft.com>...quoted
diff --git a/include/net/mana/mana.h b/include/net/mana/mana.h index e39b8676fe54..3e27ca5155aa 100644 --- a/include/net/mana/mana.h +++ b/include/net/mana/mana.h@@ -38,9 +38,21 @@ enum TRI_STATE { #define COMP_ENTRY_SIZE 64 -#define RX_BUFFERS_PER_QUEUE 512 +/* This Max value for RX buffers is derived from __alloc_page()'s max page + * allocation calculation. It allows maximum 2^(MAX_ORDER -1) pages. RX buffer + * size beyond this value gets rejected by __alloc_page() call. + */ +#define MAX_RX_BUFFERS_PER_QUEUE 8192 +#define DEF_RX_BUFFERS_PER_QUEUE 512 +#define MIN_RX_BUFFERS_PER_QUEUE 128 -#define MAX_SEND_BUFFERS_PER_QUEUE 256 +/* This max value for TX buffers is dervied as the maximum allocatablenit: derived Flagged by checkpatch --codespell
Noted, Thanks for the review.
quoted
+ * pages supported on host per guest through testing. TX buffer size beyond + * this value is rejected by the hardware. + */ +#define MAX_TX_BUFFERS_PER_QUEUE 16384 +#define DEF_TX_BUFFERS_PER_QUEUE 256 +#define MIN_TX_BUFFERS_PER_QUEUE 128 #define EQ_SIZE (8 * MANA_PAGE_SIZE)...