netdev.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
From: Jakub Kicinski <kuba@kernel.org>
To: "Russell King (Oracle)" <linux@armlinux.org.uk>
Cc: Andrew Halaney <ahalaney@redhat.com>,
	linux-kernel@vger.kernel.org, agross@kernel.org,
	andersson@kernel.org, konrad.dybcio@linaro.org,
	davem@davemloft.net, edumazet@google.com, pabeni@redhat.com,
	robh+dt@kernel.org, krzysztof.kozlowski+dt@linaro.org,
	vkoul@kernel.org, bhupesh.sharma@linaro.org,
	mturquette@baylibre.com, sboyd@kernel.org,
	peppe.cavallaro@st.com, alexandre.torgue@foss.st.com,
	joabreu@synopsys.com, mcoquelin.stm32@gmail.com,
	richardcochran@gmail.com, veekhee@apple.com,
	tee.min.tan@linux.intel.com, mohammad.athari.ismail@intel.com,
	jonathanh@nvidia.com, ruppala@nvidia.com, bmasney@redhat.com,
	andrey.konovalov@linaro.org, linux-arm-msm@vger.kernel.org,
	netdev@vger.kernel.org, devicetree@vger.kernel.org,
	linux-clk@vger.kernel.org,
	linux-stm32@st-md-mailman.stormreply.com,
	linux-arm-kernel@lists.infradead.org, ncai@quicinc.com,
	jsuraj@qti.qualcomm.com, hisunil@quicinc.com
Subject: Re: [PATCH net-next 08/11] net: stmmac: Add EMAC3 variant of dwmac4
Date: Thu, 16 Mar 2023 16:18:11 -0700	[thread overview]
Message-ID: <20230316161811.64d14cb3@kernel.org> (raw)
In-Reply-To: <ZBOfuSBifFO7O/xQ@shell.armlinux.org.uk>

On Thu, 16 Mar 2023 23:01:13 +0000 Russell King (Oracle) wrote:
> What I would say is be careful with that - make sure "struct bla" is
> specific to the interface being called and not generic.
> 
> I had that mistake with struct phylink_state... and there is an
> endless stream of people who don't seem to bother reading the
> documentation, who blindly access whatever members of that they
> damn well please because it suits them, even when either they
> shouldn't be writing to them, or when phylink doesn't guarantee
> their contents, they read them.

Right, gotta take it case by case. I really like structs for
const capabilities of the driver / device, which need to be
communicated to the core.

> As a result, I'm now of the opinion that using a struct to pass
> arguments is in principle a bad idea.
> 
> There's other reasons why it's a bad idea. Many ABIs are capable of
> passing arguments to functions via processor registers. As soon as
> one uses a struct, they typically end up being written to memory.
> Not only does that potentially cause cache line churn, it also
> means that there could be more slow memory accesses that have to be
> made at some point, potentially making other accesses slow.
> 
> So, all in all, I'm really not a fan of the struct approach for
> all the reasons above.

Also true, one has to be careful on the fast paths. There are cases
where similar set of arguments is passed multiple functions down.
Making the code hard to follow and extend. But you're right, structs
will be slower for the most part.

For stmmac I figured it can only help. The driver is touched my very
many people, it has layers and confusions...

  reply	other threads:[~2023-03-16 23:18 UTC|newest]

Thread overview: 28+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2023-03-13 16:56 [PATCH net-next 00/11] Add EMAC3 support for sa8540p-ride Andrew Halaney
2023-03-13 16:56 ` [PATCH net-next 01/11] dt-bindings: net: snps,dwmac: Update interrupt-names Andrew Halaney
2023-03-16  7:13   ` Krzysztof Kozlowski
2023-03-16 16:15     ` Andrew Halaney
2023-03-16 19:20       ` Krzysztof Kozlowski
2023-03-13 16:56 ` [PATCH net-next 02/11] dt-bindings: net: snps,dwmac: Add Qualcomm Ethernet ETHQOS compatibles Andrew Halaney
2023-03-13 16:56 ` [PATCH net-next 03/11] dt-bindings: net: qcom,ethqos: Convert bindings to yaml Andrew Halaney
2023-03-16  7:18   ` Krzysztof Kozlowski
2023-03-13 16:56 ` [PATCH net-next 04/11] dt-bindings: net: qcom,ethqos: Add Qualcomm sc8280xp compatibles Andrew Halaney
2023-03-16  7:19   ` Krzysztof Kozlowski
2023-03-13 16:56 ` [PATCH net-next 05/11] clk: qcom: gcc-sc8280xp: Add EMAC GDSCs Andrew Halaney
2023-03-13 22:57   ` Stephen Boyd
2023-03-14 13:53     ` Andrew Halaney
2023-03-14 15:13   ` Konrad Dybcio
2023-03-14 16:08     ` Andrew Halaney
2023-03-16 22:21       ` Andrew Halaney
2023-03-13 16:56 ` [PATCH net-next 06/11] arm64: dts: qcom: sc8280xp: Add ethernet nodes Andrew Halaney
2023-03-13 16:56 ` [PATCH net-next 07/11] arm64: dts: qcom: sa8540p-ride: " Andrew Halaney
2023-03-13 16:56 ` [PATCH net-next 08/11] net: stmmac: Add EMAC3 variant of dwmac4 Andrew Halaney
2023-03-14  0:39   ` Jakub Kicinski
2023-03-16 18:36     ` Andrew Halaney
2023-03-16 18:52       ` Jakub Kicinski
2023-03-16 23:01         ` Russell King (Oracle)
2023-03-16 23:18           ` Jakub Kicinski [this message]
2023-03-14  0:59   ` Andrew Lunn
2023-03-13 16:56 ` [PATCH net-next 09/11] net: ethernet: stmmac: dwmac-qcom-ethqos: Respect phy-mode and TX delay Andrew Halaney
2023-03-13 16:56 ` [PATCH net-next 10/11] net: ethernet: stmmac: dwmac-qcom-ethqos: Use loopback_en for all speeds Andrew Halaney
2023-03-13 16:56 ` [PATCH net-next 11/11] net: stmmac: dwmac-qcom-ethqos: Add EMAC3 support Andrew Halaney

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=20230316161811.64d14cb3@kernel.org \
    --to=kuba@kernel.org \
    --cc=agross@kernel.org \
    --cc=ahalaney@redhat.com \
    --cc=alexandre.torgue@foss.st.com \
    --cc=andersson@kernel.org \
    --cc=andrey.konovalov@linaro.org \
    --cc=bhupesh.sharma@linaro.org \
    --cc=bmasney@redhat.com \
    --cc=davem@davemloft.net \
    --cc=devicetree@vger.kernel.org \
    --cc=edumazet@google.com \
    --cc=hisunil@quicinc.com \
    --cc=joabreu@synopsys.com \
    --cc=jonathanh@nvidia.com \
    --cc=jsuraj@qti.qualcomm.com \
    --cc=konrad.dybcio@linaro.org \
    --cc=krzysztof.kozlowski+dt@linaro.org \
    --cc=linux-arm-kernel@lists.infradead.org \
    --cc=linux-arm-msm@vger.kernel.org \
    --cc=linux-clk@vger.kernel.org \
    --cc=linux-kernel@vger.kernel.org \
    --cc=linux-stm32@st-md-mailman.stormreply.com \
    --cc=linux@armlinux.org.uk \
    --cc=mcoquelin.stm32@gmail.com \
    --cc=mohammad.athari.ismail@intel.com \
    --cc=mturquette@baylibre.com \
    --cc=ncai@quicinc.com \
    --cc=netdev@vger.kernel.org \
    --cc=pabeni@redhat.com \
    --cc=peppe.cavallaro@st.com \
    --cc=richardcochran@gmail.com \
    --cc=robh+dt@kernel.org \
    --cc=ruppala@nvidia.com \
    --cc=sboyd@kernel.org \
    --cc=tee.min.tan@linux.intel.com \
    --cc=veekhee@apple.com \
    --cc=vkoul@kernel.org \
    /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 a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).