Message ID | 20250306175640.29565-1-jbrandeb@kernel.org (mailing list archive) |
---|---|
State | Awaiting Upstream |
Delegated to: | Netdev Maintainers |
Headers | show |
Series | [intel-net,v2] ice: fix reservation of resources for RDMA when disabled | expand |
> -----Original Message----- > From: Intel-wired-lan <intel-wired-lan-bounces@osuosl.org> On Behalf Of > Jesse Brandeburg > Sent: Thursday, March 6, 2025 6:57 PM > To: intel-wired-lan@lists.osuosl.org > Cc: Brandeburg, Jesse <jbrandeburg@cloudflare.com>; > netdev@vger.kernel.org; kernel-team@cloudflare.com; jbrandeb@kernel.org; > leon@kernel.org; Kitszel, Przemyslaw <przemyslaw.kitszel@intel.com>; > Ertman, David M <david.m.ertman@intel.com> > Subject: [Intel-wired-lan] [PATCH intel-net v2] ice: fix reservation of resources > for RDMA when disabled > > From: Jesse Brandeburg <jbrandeburg@cloudflare.com> > > If the CONFIG_INFINIBAND_IRDMA symbol is not enabled as a module or a > built-in, then don't let the driver reserve resources for RDMA. The result of this > change is a large savings in resources for older kernels, and a cleaner driver > configuration for the IRDMA=n case for old and new kernels. > > Implement this by avoiding enabling the RDMA capability when scanning > hardware capabilities. > > Note: Loading the out-of-tree irdma driver in connection to the in-kernel ice > driver, is not supported, and should not be attempted, especially when > disabling IRDMA in the kernel config. > > Fixes: d25a0fc41c1f ("ice: Initialize RDMA support") > Signed-off-by: Jesse Brandeburg <jbrandeburg@cloudflare.com> > Acked-by: Dave Ertman <david.m.ertman@intel.com> Reviewed-by: Aleksandr Loktionov <aleksandr.loktionov@intel.com> > --- > v2: resend with acks, add note about oot irdma (Leon), reword commit > message > v1: https://lore.kernel.org/netdev/20241114000105.703740-1- > jbrandeb@kernel.org/ > --- > drivers/net/ethernet/intel/ice/ice_common.c | 3 ++- > 1 file changed, 2 insertions(+), 1 deletion(-) > > diff --git a/drivers/net/ethernet/intel/ice/ice_common.c > b/drivers/net/ethernet/intel/ice/ice_common.c > index 7a2a2e8da8fa..1e801300310e 100644 > --- a/drivers/net/ethernet/intel/ice/ice_common.c > +++ b/drivers/net/ethernet/intel/ice/ice_common.c > @@ -2271,7 +2271,8 @@ ice_parse_common_caps(struct ice_hw *hw, struct > ice_hw_common_caps *caps, > caps->nvm_unified_update); > break; > case ICE_AQC_CAPS_RDMA: > - caps->rdma = (number == 1); > + if (IS_ENABLED(CONFIG_INFINIBAND_IRDMA)) > + caps->rdma = (number == 1); > ice_debug(hw, ICE_DBG_INIT, "%s: rdma = %d\n", prefix, caps- > >rdma); > break; > case ICE_AQC_CAPS_MAX_MTU: > -- > 2.43.0
diff --git a/drivers/net/ethernet/intel/ice/ice_common.c b/drivers/net/ethernet/intel/ice/ice_common.c index 7a2a2e8da8fa..1e801300310e 100644 --- a/drivers/net/ethernet/intel/ice/ice_common.c +++ b/drivers/net/ethernet/intel/ice/ice_common.c @@ -2271,7 +2271,8 @@ ice_parse_common_caps(struct ice_hw *hw, struct ice_hw_common_caps *caps, caps->nvm_unified_update); break; case ICE_AQC_CAPS_RDMA: - caps->rdma = (number == 1); + if (IS_ENABLED(CONFIG_INFINIBAND_IRDMA)) + caps->rdma = (number == 1); ice_debug(hw, ICE_DBG_INIT, "%s: rdma = %d\n", prefix, caps->rdma); break; case ICE_AQC_CAPS_MAX_MTU: