From: Greg KH <gregkh@linuxfoundation.org>
To: Chun-Chao Yen <nothingstopsme@hotmail.com>
Cc: pabeni@redhat.com, davem@davemloft.net, linux-usb@vger.kernel.org
Subject: Re: [PATCH 1/3 (RESENT)] net: usb: ax88179_178a: Enable FLAG_MULTI_PACKET to improve tx stability
Date: Sun, 16 Oct 2022 13:48:05 +0200 [thread overview]
Message-ID: <Y0vvddh+uCONluRH@kroah.com> (raw)
In-Reply-To: <ME3P282MB28276594FEE8942909123B30D1269@ME3P282MB2827.AUSP282.PROD.OUTLOOK.COM>
On Sun, Oct 16, 2022 at 07:36:25PM +0800, Chun-Chao Yen wrote:
> Problem Description:
> The current way of handling the boundary case in tx, i.e. adding one-byte
> padding when the size of an outbound packet is a multiple of the maximum
> frame size used for USB bulk transfer, does not work with the hardware.
> This can be shown by running a loading test via iperf with this hardware as
> the sender; one can then tune the iperf parameters on the sender side (e.g.
> "-M 510" in my testing environment) so that sent packets frequently hit the
> boundary condition, and observe a significant drop in the transmission
> rate. In the worst case (often after a long run), the hardware can stop
> functioning (can not send or receive packets anymore, albeit the
> corresponding network interface is still reported present by ifconfig).
>
> It is also believed that this problem is highly relevant to this bug [1].
>
> Solution:
> Enable FLAG_MULTI_PACKET and modify both ax88179_rx_fixup() and
> ax88179_tx_fixup() accordingly.
>
> Rationale:
> When FLAG_MULTI_PACKET is enabled (and FLAG_SEND_ZLP is off, which is the
> case for this driver), usbnet will skip padding, and trust that each
> sk_buff returned from the mini-driver's tx_fixup function has been taken
> care of to cater for the requirement of its target hardware. That
> mechanism allows this mini-driver to send, even when the boundary condition
> is detected, "untampered" packets (no padding, no extra flags, as if in the
> normal case) that the hardware accepts, and therefore resolves this
> problem.
>
> Note that rather than being viewed as a workaround, enabling
> FLAG_MULTI_PACKET is intended to better match the overall behaviour of the
> hardware, as it also echos well the rx procedure conducting multiple-packet
> extraction from a single sk_buff in ax88179_rx_fixup().
>
> Verification:
> Only tested with this device:
> 0b95:1790 ASIX Electronics Corp. AX88179 Gigabit Ethernet
>
> References:
> [1] https://bugzilla.kernel.org/show_bug.cgi?id=212731
>
> Signed-off-by: Chun-Chao Yen <nothingstopsme@hotmail.com>
> ---
> drivers/net/usb/ax88179_178a.c | 62 ++++++++++++++--------------------
> 1 file changed, 26 insertions(+), 36 deletions(-)
Why is this a RESEND?
Always put below the --- what is happening, what is different from the
first version you sent?
And why is this not threaded with the 2/3 and 3/3 patches?
thanks,
greg k-h
next prev parent reply other threads:[~2022-10-16 11:47 UTC|newest]
Thread overview: 3+ messages / expand[flat|nested] mbox.gz Atom feed top
2022-10-16 11:36 [PATCH 1/3 (RESENT)] net: usb: ax88179_178a: Enable FLAG_MULTI_PACKET to improve tx stability Chun-Chao Yen
2022-10-16 11:48 ` Greg KH [this message]
2022-10-17 11:23 ` Yen ChunChao
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=Y0vvddh+uCONluRH@kroah.com \
--to=gregkh@linuxfoundation.org \
--cc=davem@davemloft.net \
--cc=linux-usb@vger.kernel.org \
--cc=nothingstopsme@hotmail.com \
--cc=pabeni@redhat.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.