From: Thierry Reding <thierry.reding@gmail.com>
To: Florian Fainelli <f.fainelli@gmail.com>
Cc: Jose Abreu <Jose.Abreu@synopsys.com>,
David Miller <davem@davemloft.net>,
"peppe.cavallaro@st.com" <peppe.cavallaro@st.com>,
"alexandre.torgue@st.com" <alexandre.torgue@st.com>,
"jonathanh@nvidia.com" <jonathanh@nvidia.com>,
"bbiswas@nvidia.com" <bbiswas@nvidia.com>,
"netdev@vger.kernel.org" <netdev@vger.kernel.org>,
"linux-tegra@vger.kernel.org" <linux-tegra@vger.kernel.org>
Subject: Re: [PATCH v3 0/2] net: stmmac: Enhanced addressing mode for DWMAC 4.10
Date: Thu, 26 Sep 2019 00:46:20 +0200 [thread overview]
Message-ID: <20190925224620.GA8115@mithrandir> (raw)
In-Reply-To: <9f0e2386-c4b1-52b0-6881-e72093eb1b05@gmail.com>
[-- Attachment #1: Type: text/plain, Size: 3251 bytes --]
On Wed, Sep 25, 2019 at 10:31:13AM -0700, Florian Fainelli wrote:
> On 9/25/19 4:46 AM, Jose Abreu wrote:
> > From: Jose Abreu <joabreu@synopsys.com>
> > Date: Sep/25/2019, 12:41:04 (UTC+00:00)
> >
> >> From: David Miller <davem@davemloft.net>
> >> Date: Sep/25/2019, 12:33:53 (UTC+00:00)
> >>
> >>> From: Jose Abreu <Jose.Abreu@synopsys.com>
> >>> Date: Wed, 25 Sep 2019 10:44:53 +0000
> >>>
> >>>> From: David Miller <davem@davemloft.net>
> >>>> Date: Sep/24/2019, 20:45:08 (UTC+00:00)
> >>>>
> >>>>> From: Thierry Reding <thierry.reding@gmail.com>
> >>>>> Date: Fri, 20 Sep 2019 19:00:34 +0200
> >>>>>
> >>>>> Also, you're now writing to the high 32-bits unconditionally, even when
> >>>>> it will always be zero because of 32-bit addressing. That looks like
> >>>>> a step backwards to me.
> >>>>
> >>>> Don't agree. As per previous discussions and as per my IP knowledge, if
> >>>> EAME is not enabled / not supported the register can still be written.
> >>>> This is not fast path and will not impact any remaining operation. Can
> >>>> you please explain what exactly is the concern about this ?
> >>>>
> >>>> Anyway, this is an important feature for performance so I hope Thierry
> >>>> re-submits this once -next opens and addressing the review comments.
> >>>
> >>> Perhaps I misunderstand the context, isn't this code writing the
> >>> descriptors for every packet?
> >>
> >> No, its just setting up the base address for the descriptors which is
> >> done in open(). The one that's in the fast path is the tail address,
> >> which is always the lower 32 bits.
> >
> > Oops, sorry. Indeed it's done in refill operation in function
> > dwmac4_set_addr() for rx/tx which is fast path so you do have a point
> > that I was not seeing. Thanks for bringing this up!
> >
> > Now, the point would be:
> > a) Is it faster to have an condition check in dwmac4_set_addr(), or
> > b) Always write to descs the upper 32 bits. Which always exists in the
> > IP and is a standard write to memory.
>
> The way I would approach it (as done in bcmgenet.c) is that if the
> platform both has CONFIG_PHYS_ADDR_T_64BIT=y and supports > 32-bits
> addresses, then you write the upper 32-bits otherwise, you do not. Given
> you indicate that the registers are safe to write regardless, then maybe
> just the check on CONFIG_PHYS_ADDR_T_64BIT is enough for your case. The
> rationale in my case is that register writes to on-chip descriptors are
> fairly expensive (~200ns per operation) and get in the hot-path.
>
> The CONFIG_PHYS_ADDR_T_64BIT check addresses both native 64-bit
> platforms (e.g.: ARM64) and those that do support LPAE (ARM LPAE for
> instance).
I think we actually want CONFIG_DMA_ADDR_T_64BIT here because we're
dealing with addresses returned from the DMA API here.
I can add an additional condition for the upper 32-bit register writes,
something like:
if (IS_ENABLED(CONFIG_DMA_ADDR_T_64BIT) && priv->dma_cfg->eame)
...
The compiler should be able to eliminate that as dead code on platforms
that don't support 64-bit DMA addresses, but the code should still be
compiler regardless of the setting, thus increasing the compile
coverage.
Thierry
[-- Attachment #2: signature.asc --]
[-- Type: application/pgp-signature, Size: 833 bytes --]
next prev parent reply other threads:[~2019-09-25 22:46 UTC|newest]
Thread overview: 15+ messages / expand[flat|nested] mbox.gz Atom feed top
2019-09-20 17:00 [PATCH v3 0/2] net: stmmac: Enhanced addressing mode for DWMAC 4.10 Thierry Reding
2019-09-20 17:00 ` [PATCH v3 1/2] net: stmmac: Only enable enhanced addressing mode when needed Thierry Reding
2019-09-20 17:00 ` [PATCH v3 2/2] net: stmmac: Support enhanced addressing mode for DWMAC 4.10 Thierry Reding
2019-09-20 17:02 ` [PATCH v3 0/2] net: stmmac: Enhanced " Florian Fainelli
2019-09-21 1:35 ` Thierry Reding
2019-09-24 19:45 ` David Miller
2019-09-25 10:44 ` Jose Abreu
2019-09-25 11:33 ` David Miller
2019-09-25 11:41 ` Jose Abreu
2019-09-25 11:46 ` Jose Abreu
2019-09-25 17:31 ` Florian Fainelli
2019-09-25 22:46 ` Thierry Reding [this message]
2019-09-26 8:22 ` Jose Abreu
2019-09-25 12:01 ` David Miller
2019-09-25 11:17 ` Thierry Reding
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=20190925224620.GA8115@mithrandir \
--to=thierry.reding@gmail.com \
--cc=Jose.Abreu@synopsys.com \
--cc=alexandre.torgue@st.com \
--cc=bbiswas@nvidia.com \
--cc=davem@davemloft.net \
--cc=f.fainelli@gmail.com \
--cc=jonathanh@nvidia.com \
--cc=linux-tegra@vger.kernel.org \
--cc=netdev@vger.kernel.org \
--cc=peppe.cavallaro@st.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: link
Be 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.