[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <45ce4333-57da-4c32-ad06-c368d90b1328@linux.dev>
Date: Fri, 15 Nov 2024 10:46:33 -0800
From: Jesse Brandeburg <jesse.brandeburg@...ux.dev>
To: "Ertman, David M" <david.m.ertman@...el.com>,
"jbrandeb@...nel.org" <jbrandeb@...nel.org>,
"netdev@...r.kernel.org" <netdev@...r.kernel.org>
Cc: "intel-wired-lan@...ts.osuosl.org" <intel-wired-lan@...ts.osuosl.org>,
"Nguyen, Anthony L" <anthony.l.nguyen@...el.com>,
"Kitszel, Przemyslaw" <przemyslaw.kitszel@...el.com>,
Andrew Lunn <andrew+netdev@...n.ch>, "David S. Miller"
<davem@...emloft.net>, Eric Dumazet <edumazet@...gle.com>,
Jakub Kicinski <kuba@...nel.org>, Paolo Abeni <pabeni@...hat.com>
Subject: Re: [PATCH net v1] ice: do not reserve resources for RDMA when
disabled
On 11/14/24 10:06 AM, Ertman, David M wrote:
>> 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,
>
> The HW caps struct should always accurately reflect the capabilities of the HW being probed. Since this
why must it accurately reflect the capability of the hardware? The
driver state and capability is a reflection of the combination of both,
so I'm not sure what the point of your statement.
> is a kernel configuration (i.e. software) consideration, the more appropriate approach would be to control
> the PF flag "ICE_FLAG_RDMA_ENA" based on the kernel CONFIG setting.
I started making the changes you suggested, but the ICE_FLAG_RDMA_ENA is
blindly set by the LAG code, if the cap.rdma is enabled. see
ice_set_rdma_cap(). This means the disable won't stick.
Unless I'm misunderstanding something, ICE_FLAG_RDMA_ENA is used both as
a gate and as a state, which is a design issue. This leaves no choice
but to implement the way I did in this v1 patch. Do you see any other
option to make a simple change that is safe for backporting to stable?
Thanks,
Jesse
Powered by blists - more mailing lists