From: Niklas Schnelle <schnelle@linux.ibm.com>
To: Heiko Carstens <hca@linux.ibm.com>,
Jason Gunthorpe <jgg@nvidia.com>,
Gerd Bayer <gbayer@linux.ibm.com>,
Alexandra Winter <wintera@linux.ibm.com>
Cc: Alexander Gordeev <agordeev@linux.ibm.com>,
Christian Borntraeger <borntraeger@linux.ibm.com>,
Gerald Schaefer <gerald.schaefer@linux.ibm.com>,
Vasily Gorbik <gor@linux.ibm.com>,
linux-s390@vger.kernel.org, Sven Schnelle <svens@linux.ibm.com>,
patches@lists.linux.dev
Subject: Re: [PATCH rc] s390: Use the correct count for __iowrite64_copy()
Date: Tue, 20 Feb 2024 13:22:11 +0100 [thread overview]
Message-ID: <e043af2e4351b601e9efe4944b6733ab71b1c8ad.camel@linux.ibm.com> (raw)
In-Reply-To: <20240219100850.16287-B-hca@linux.ibm.com>
On Mon, 2024-02-19 at 11:08 +0100, Heiko Carstens wrote:
> On Fri, Feb 16, 2024 at 08:48:14PM -0400, Jason Gunthorpe wrote:
> > The signature for __iowrite64_copy() requires the number of 64 bit
> > quantities, not bytes. Multiple by 8 to get to a byte length before
> > invoking zpci_memcpy_toio()
> >
> > Fixes: 87bc359b9822 ("s390/pci: speed up __iowrite64_copy by using pci store block insn")
> > Acked-by: Niklas Schnelle <schnelle@linux.ibm.com>
> > Signed-off-by: Jason Gunthorpe <jgg@nvidia.com>
> > ---
> > arch/s390/pci/pci.c | 2 +-
> > 1 file changed, 1 insertion(+), 1 deletion(-)
> >
> > diff --git a/arch/s390/pci/pci.c b/arch/s390/pci/pci.c
> > index 676ac74026a82b..52a44e353796c0 100644
> > --- a/arch/s390/pci/pci.c
> > +++ b/arch/s390/pci/pci.c
> > @@ -252,7 +252,7 @@ resource_size_t pcibios_align_resource(void *data, const struct resource *res,
> > /* combine single writes by using store-block insn */
> > void __iowrite64_copy(void __iomem *to, const void *from, size_t count)
> > {
> > - zpci_memcpy_toio(to, from, count);
> > + zpci_memcpy_toio(to, from, count * 8);
> > }
>
> Odd, this bug is 11 years old, and there was never any bug report.
> Is this never called, or how is this possible?
>
> Niklas, would you happen to have an idea?
I did ask myself the same question when I first saw this change but
still don't have a satisfactory answer.
As far as I can tell there is only one call that could be relevant for
us in drivers/net/ethernet/mellanox/mlx4/en_tx.c:mlx4_bf_copy(). That
call looks like it would be done during transmit. Not sure under what
exact circumstances or if a short write would directly cause observable
issues though. Note also that contrary to what the mlx4 name suggests
even ConnectX-4 based devices already use the mlx5 driver and that
doesn't call this helper at the moment. Jason has plans to use it there
in the future which is what caused him to even stumble over this
though.
next prev parent reply other threads:[~2024-02-20 12:27 UTC|newest]
Thread overview: 5+ messages / expand[flat|nested] mbox.gz Atom feed top
2024-02-17 0:48 [PATCH rc] s390: Use the correct count for __iowrite64_copy() Jason Gunthorpe
2024-02-19 10:08 ` Heiko Carstens
2024-02-20 12:22 ` Niklas Schnelle [this message]
2024-02-20 13:03 ` Jason Gunthorpe
2024-02-20 13:09 ` Heiko Carstens
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=e043af2e4351b601e9efe4944b6733ab71b1c8ad.camel@linux.ibm.com \
--to=schnelle@linux.ibm.com \
--cc=agordeev@linux.ibm.com \
--cc=borntraeger@linux.ibm.com \
--cc=gbayer@linux.ibm.com \
--cc=gerald.schaefer@linux.ibm.com \
--cc=gor@linux.ibm.com \
--cc=hca@linux.ibm.com \
--cc=jgg@nvidia.com \
--cc=linux-s390@vger.kernel.org \
--cc=patches@lists.linux.dev \
--cc=svens@linux.ibm.com \
--cc=wintera@linux.ibm.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 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).