From: Mateusz Polchlopek <mateusz.polchlopek@intel.com> To: intel-wired-lan@lists.osuosl.org Cc: andrew@lunn.ch, jiri@resnulli.us, michal.wilczynski@intel.com, Mateusz Polchlopek <mateusz.polchlopek@intel.com>, netdev@vger.kernel.org, lukasz.czapnik@intel.com, victor.raj@intel.com, anthony.l.nguyen@intel.com, horms@kernel.org, przemyslaw.kitszel@intel.com, kuba@kernel.org Subject: [Intel-wired-lan] [PATCH net-next v8 0/6] ice: Support 5 layer Tx scheduler topology Date: Tue, 26 Mar 2024 10:30:36 -0400 [thread overview] Message-ID: <20240326143042.9240-1-mateusz.polchlopek@intel.com> (raw) For performance reasons there is a need to have support for selectable Tx scheduler topology. Currently firmware supports only the default 9-layer and 5-layer topology. This patch series enables switch from default to 5-layer topology, if user decides to opt-in. --- v8: - fixed all drivers to use new *set pointer - commit 1 - added setting flag in ice_copy_and_init_pkg based on family - commit 2 - changed the way of registering devlink param - commit 5 - changed the name of devlink param to be more descriptive - commit 5 - added RB in commit 1 and commit 6 v7: - fixed comments from v6 in commit 1 (devlink changes) and commit 5 (ice_devlink changes) - included Documentation change that should be in v6 (reboot -> PCI slot powercycle) - added Reviewed-by tag to commit 1 (devlink changes) and commit 6 (Documentation) https://lore.kernel.org/netdev/20240308113919.11787-1-mateusz.polchlopek@intel.com/ v6: - extended devlink_param *set pointer to accept one more parameter - extack - adjusted all drivers that use *set pointer to pass one more parameter - updated Documentation - changed "reboot" to "PCI slot powercycle", kept Kuba's ACK - removed "Error: " prefix from NL_SET_ERR_MSG_MOD function in ice_devlink.c - removed/adjusted messages sent to end user in ice_devlink.c https://lore.kernel.org/netdev/20240305143942.23757-1-mateusz.polchlopek@intel.com/ v5: - updated Documentation commit as suggested in v4 https://lore.kernel.org/netdev/20240228142054.474626-1-mateusz.polchlopek@intel.com/ v4: - restored the initial way of passing firmware data to ice_cfg_tx_topo function in ice_init_tx_topology function in ice_main.c file. In v2 and v3 version it was passed as const u8 parameter which caused kernel crash. Because of this change I decided to drop all Reviewed-by tags. https://lore.kernel.org/netdev/20240219100555.7220-1-mateusz.polchlopek@intel.com/ v3: - fixed documentation warnings https://lore.kernel.org/netdev/20231009090711.136777-1-mateusz.polchlopek@intel.com/ v2: - updated documentation - reorder of variables list (default-init first) - comments changed to be more descriptive - added elseif's instead of few if's - returned error when ice_request_fw fails - ice_cfg_tx_topo() changed to take const u8 as parameter (get rid of copy buffer) - renamed all "balance" occurences to the new one - prevent fail of ice_aq_read_nvm() function - unified variables names (int err instead of int status in few functions) - some smaller fixes, typo fixes https://lore.kernel.org/netdev/20231006110212.96305-1-mateusz.polchlopek@intel.com/ v1: https://lore.kernel.org/netdev/20230523174008.3585300-1-anthony.l.nguyen@intel.com/ --- Lukasz Czapnik (1): ice: Add tx_scheduling_layers devlink param Mateusz Polchlopek (1): devlink: extend devlink_param *set pointer Michal Wilczynski (2): ice: Enable switching default Tx scheduler topology ice: Document tx_scheduling_layers parameter Raj Victor (2): ice: Support 5 layer topology ice: Adjust the VSI/Aggregator layers Documentation/networking/devlink/ice.rst | 47 ++++ .../marvell/octeontx2/otx2_cpt_devlink.c | 9 +- drivers/net/ethernet/amd/pds_core/core.h | 3 +- drivers/net/ethernet/amd/pds_core/devlink.c | 3 +- .../net/ethernet/broadcom/bnxt/bnxt_devlink.c | 6 +- .../net/ethernet/intel/ice/ice_adminq_cmd.h | 32 +++ drivers/net/ethernet/intel/ice/ice_common.c | 5 + drivers/net/ethernet/intel/ice/ice_ddp.c | 205 ++++++++++++++++++ drivers/net/ethernet/intel/ice/ice_ddp.h | 2 + drivers/net/ethernet/intel/ice/ice_devlink.c | 184 +++++++++++++++- .../net/ethernet/intel/ice/ice_fw_update.c | 7 +- .../net/ethernet/intel/ice/ice_fw_update.h | 3 + drivers/net/ethernet/intel/ice/ice_main.c | 102 +++++++-- drivers/net/ethernet/intel/ice/ice_nvm.c | 7 +- drivers/net/ethernet/intel/ice/ice_nvm.h | 3 + drivers/net/ethernet/intel/ice/ice_sched.c | 37 ++-- drivers/net/ethernet/intel/ice/ice_sched.h | 3 + drivers/net/ethernet/intel/ice/ice_type.h | 1 + .../marvell/octeontx2/af/rvu_devlink.c | 12 +- .../marvell/octeontx2/nic/otx2_devlink.c | 3 +- drivers/net/ethernet/mellanox/mlx4/main.c | 6 +- .../net/ethernet/mellanox/mlx5/core/eswitch.c | 3 +- .../mellanox/mlx5/core/eswitch_offloads.c | 3 +- .../net/ethernet/mellanox/mlx5/core/fs_core.c | 3 +- .../ethernet/mellanox/mlx5/core/fw_reset.c | 3 +- .../mellanox/mlxsw/spectrum_acl_tcam.c | 3 +- .../ethernet/netronome/nfp/devlink_param.c | 3 +- drivers/net/ethernet/qlogic/qed/qed_devlink.c | 3 +- drivers/net/ethernet/ti/am65-cpsw-nuss.c | 3 +- drivers/net/ethernet/ti/cpsw_new.c | 6 +- drivers/net/wwan/iosm/iosm_ipc_devlink.c | 3 +- include/net/devlink.h | 3 +- include/net/dsa.h | 3 +- net/devlink/param.c | 7 +- net/dsa/devlink.c | 3 +- 35 files changed, 645 insertions(+), 84 deletions(-) -- 2.38.1
WARNING: multiple messages have this Message-ID (diff)
From: Mateusz Polchlopek <mateusz.polchlopek@intel.com> To: intel-wired-lan@lists.osuosl.org Cc: netdev@vger.kernel.org, anthony.l.nguyen@intel.com, kuba@kernel.org, jiri@resnulli.us, horms@kernel.org, przemyslaw.kitszel@intel.com, andrew@lunn.ch, victor.raj@intel.com, michal.wilczynski@intel.com, lukasz.czapnik@intel.com, Mateusz Polchlopek <mateusz.polchlopek@intel.com> Subject: [Intel-wired-lan] [PATCH net-next v8 0/6] ice: Support 5 layer Tx scheduler topology Date: Tue, 26 Mar 2024 10:30:36 -0400 [thread overview] Message-ID: <20240326143042.9240-1-mateusz.polchlopek@intel.com> (raw) For performance reasons there is a need to have support for selectable Tx scheduler topology. Currently firmware supports only the default 9-layer and 5-layer topology. This patch series enables switch from default to 5-layer topology, if user decides to opt-in. --- v8: - fixed all drivers to use new *set pointer - commit 1 - added setting flag in ice_copy_and_init_pkg based on family - commit 2 - changed the way of registering devlink param - commit 5 - changed the name of devlink param to be more descriptive - commit 5 - added RB in commit 1 and commit 6 v7: - fixed comments from v6 in commit 1 (devlink changes) and commit 5 (ice_devlink changes) - included Documentation change that should be in v6 (reboot -> PCI slot powercycle) - added Reviewed-by tag to commit 1 (devlink changes) and commit 6 (Documentation) https://lore.kernel.org/netdev/20240308113919.11787-1-mateusz.polchlopek@intel.com/ v6: - extended devlink_param *set pointer to accept one more parameter - extack - adjusted all drivers that use *set pointer to pass one more parameter - updated Documentation - changed "reboot" to "PCI slot powercycle", kept Kuba's ACK - removed "Error: " prefix from NL_SET_ERR_MSG_MOD function in ice_devlink.c - removed/adjusted messages sent to end user in ice_devlink.c https://lore.kernel.org/netdev/20240305143942.23757-1-mateusz.polchlopek@intel.com/ v5: - updated Documentation commit as suggested in v4 https://lore.kernel.org/netdev/20240228142054.474626-1-mateusz.polchlopek@intel.com/ v4: - restored the initial way of passing firmware data to ice_cfg_tx_topo function in ice_init_tx_topology function in ice_main.c file. In v2 and v3 version it was passed as const u8 parameter which caused kernel crash. Because of this change I decided to drop all Reviewed-by tags. https://lore.kernel.org/netdev/20240219100555.7220-1-mateusz.polchlopek@intel.com/ v3: - fixed documentation warnings https://lore.kernel.org/netdev/20231009090711.136777-1-mateusz.polchlopek@intel.com/ v2: - updated documentation - reorder of variables list (default-init first) - comments changed to be more descriptive - added elseif's instead of few if's - returned error when ice_request_fw fails - ice_cfg_tx_topo() changed to take const u8 as parameter (get rid of copy buffer) - renamed all "balance" occurences to the new one - prevent fail of ice_aq_read_nvm() function - unified variables names (int err instead of int status in few functions) - some smaller fixes, typo fixes https://lore.kernel.org/netdev/20231006110212.96305-1-mateusz.polchlopek@intel.com/ v1: https://lore.kernel.org/netdev/20230523174008.3585300-1-anthony.l.nguyen@intel.com/ --- Lukasz Czapnik (1): ice: Add tx_scheduling_layers devlink param Mateusz Polchlopek (1): devlink: extend devlink_param *set pointer Michal Wilczynski (2): ice: Enable switching default Tx scheduler topology ice: Document tx_scheduling_layers parameter Raj Victor (2): ice: Support 5 layer topology ice: Adjust the VSI/Aggregator layers Documentation/networking/devlink/ice.rst | 47 ++++ .../marvell/octeontx2/otx2_cpt_devlink.c | 9 +- drivers/net/ethernet/amd/pds_core/core.h | 3 +- drivers/net/ethernet/amd/pds_core/devlink.c | 3 +- .../net/ethernet/broadcom/bnxt/bnxt_devlink.c | 6 +- .../net/ethernet/intel/ice/ice_adminq_cmd.h | 32 +++ drivers/net/ethernet/intel/ice/ice_common.c | 5 + drivers/net/ethernet/intel/ice/ice_ddp.c | 205 ++++++++++++++++++ drivers/net/ethernet/intel/ice/ice_ddp.h | 2 + drivers/net/ethernet/intel/ice/ice_devlink.c | 184 +++++++++++++++- .../net/ethernet/intel/ice/ice_fw_update.c | 7 +- .../net/ethernet/intel/ice/ice_fw_update.h | 3 + drivers/net/ethernet/intel/ice/ice_main.c | 102 +++++++-- drivers/net/ethernet/intel/ice/ice_nvm.c | 7 +- drivers/net/ethernet/intel/ice/ice_nvm.h | 3 + drivers/net/ethernet/intel/ice/ice_sched.c | 37 ++-- drivers/net/ethernet/intel/ice/ice_sched.h | 3 + drivers/net/ethernet/intel/ice/ice_type.h | 1 + .../marvell/octeontx2/af/rvu_devlink.c | 12 +- .../marvell/octeontx2/nic/otx2_devlink.c | 3 +- drivers/net/ethernet/mellanox/mlx4/main.c | 6 +- .../net/ethernet/mellanox/mlx5/core/eswitch.c | 3 +- .../mellanox/mlx5/core/eswitch_offloads.c | 3 +- .../net/ethernet/mellanox/mlx5/core/fs_core.c | 3 +- .../ethernet/mellanox/mlx5/core/fw_reset.c | 3 +- .../mellanox/mlxsw/spectrum_acl_tcam.c | 3 +- .../ethernet/netronome/nfp/devlink_param.c | 3 +- drivers/net/ethernet/qlogic/qed/qed_devlink.c | 3 +- drivers/net/ethernet/ti/am65-cpsw-nuss.c | 3 +- drivers/net/ethernet/ti/cpsw_new.c | 6 +- drivers/net/wwan/iosm/iosm_ipc_devlink.c | 3 +- include/net/devlink.h | 3 +- include/net/dsa.h | 3 +- net/devlink/param.c | 7 +- net/dsa/devlink.c | 3 +- 35 files changed, 645 insertions(+), 84 deletions(-) -- 2.38.1
next reply other threads:[~2024-03-26 14:40 UTC|newest] Thread overview: 16+ messages / expand[flat|nested] mbox.gz Atom feed top 2024-03-26 14:30 Mateusz Polchlopek [this message] 2024-03-26 14:30 ` [Intel-wired-lan] [PATCH net-next v8 0/6] ice: Support 5 layer Tx scheduler topology Mateusz Polchlopek 2024-03-26 14:30 ` [Intel-wired-lan] [PATCH net-next v8 1/6] devlink: extend devlink_param *set pointer Mateusz Polchlopek 2024-03-26 14:30 ` Mateusz Polchlopek 2024-03-26 14:30 ` [Intel-wired-lan] [PATCH net-next v8 2/6] ice: Support 5 layer topology Mateusz Polchlopek 2024-03-26 14:30 ` Mateusz Polchlopek 2024-03-26 14:30 ` [Intel-wired-lan] [PATCH net-next v8 3/6] ice: Adjust the VSI/Aggregator layers Mateusz Polchlopek 2024-03-26 14:30 ` Mateusz Polchlopek 2024-03-26 14:30 ` [Intel-wired-lan] [PATCH net-next v8 4/6] ice: Enable switching default Tx scheduler topology Mateusz Polchlopek 2024-03-26 14:30 ` Mateusz Polchlopek 2024-03-26 14:30 ` [Intel-wired-lan] [PATCH net-next v8 5/6] ice: Add tx_scheduling_layers devlink param Mateusz Polchlopek 2024-03-26 14:30 ` Mateusz Polchlopek 2024-03-26 14:30 ` [Intel-wired-lan] [PATCH net-next v8 6/6] ice: Document tx_scheduling_layers parameter Mateusz Polchlopek 2024-03-26 14:30 ` Mateusz Polchlopek 2024-03-28 21:40 ` [Intel-wired-lan] [PATCH net-next v8 0/6] ice: Support 5 layer Tx scheduler topology Tony Nguyen 2024-03-28 21:40 ` Tony Nguyen
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=20240326143042.9240-1-mateusz.polchlopek@intel.com \ --to=mateusz.polchlopek@intel.com \ --cc=andrew@lunn.ch \ --cc=anthony.l.nguyen@intel.com \ --cc=horms@kernel.org \ --cc=intel-wired-lan@lists.osuosl.org \ --cc=jiri@resnulli.us \ --cc=kuba@kernel.org \ --cc=lukasz.czapnik@intel.com \ --cc=michal.wilczynski@intel.com \ --cc=netdev@vger.kernel.org \ --cc=przemyslaw.kitszel@intel.com \ --cc=victor.raj@intel.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: linkBe 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.