From: "Michał Pecio" <michal.pecio@gmail.com>
To: Mathias Nyman <mathias.nyman@linux.intel.com>
Cc: Mathias Nyman <mathias.nyman@intel.com>,
linux-usb@vger.kernel.org,
Niklas Neronin <niklas.neronin@linux.intel.com>
Subject: Re: [PATCH 0/9] Various xhci fixes and improvements
Date: Fri, 30 Aug 2024 13:53:07 +0200 [thread overview]
Message-ID: <20240830135307.7c57baa8@foxbook> (raw)
In-Reply-To: <39d389c3-1b3f-4a11-a40d-5c2eb46096bc@linux.intel.com>
Hi Mathias,
> Code on top of 6.11-rc4 can be found in my
> feature_transfer_event_rework branch:
>
> git://git.kernel.org/pub/scm/linux/kernel/git/mnyman/xhci.git
Thanks for pointing me to this.
It does look like a very promising approach. This is the principle of
"matching before handling" taken to the extreme, as nothing is changed
during the first pass through the TD list. It seems to work well.
I feel like the counting of distances from ring->dequeue is a little,
I don't know, unexpected maybe, but it does indeed produce surprisingly
compact and simple code thanks to those segment numbers.
That being said, I've always been a strong case of NIH syndrome, so
I implemented a similar search for passed TDs which relies solely on
walking the ring in order from dequeue to the event DMA pointer.
So I guess we will have two implementations to compare and choose from.
I will try to develop this approach into a complete implementation that
actually works and can be tested. I want to maximally preserve original
behavior, except for obvious bugs (I found an obscure one already) to
simplify validation and review.
So, for example, no removing the skip flag for now. I'm not sure if
it's a good idea at all, as it frankly is sweeping bugs under the rug.
I have one HC which sometimes silently misses TDs for no known reason
and it misses so many of them that auto-skipping wouldn't help anyway.
OTOH, when I get the TRB errors, at least I know the HC is screwed.
Regards,
Michal
prev parent reply other threads:[~2024-08-30 11:53 UTC|newest]
Thread overview: 16+ messages / expand[flat|nested] mbox.gz Atom feed top
2024-08-27 17:46 [PATCH 0/9] Various xhci fixes and improvements Michal Pecio
2024-08-27 17:47 ` [PATCH 1/9] usb: xhci: Fix double newline in a debug message Michal Pecio
2024-08-27 17:48 ` [PATCH 2/9] usb: xhci: Fix handling errors mid TD followed by other errors Michal Pecio
2024-08-27 17:49 ` [PATCH 3/9] usb: xhci: Clean up the TD skipping loop Michal Pecio
2024-08-27 17:50 ` [PATCH 4/9] usb: xhci: Expedite processing missed isoch TDs on modern HCs Michal Pecio
2024-08-27 17:51 ` [PATCH 5/9] usb: xhci: Simplify error_mid_td marking Michal Pecio
2024-08-27 17:52 ` [PATCH 6/9] usb: xhci: Sanity check "spurious success" handling Michal Pecio
2024-08-27 17:53 ` [PATCH 7/9] usb: xhci: Don't lie about trb_comp_code in handle_tx_event() Michal Pecio
2024-08-27 17:54 ` [PATCH 8/9] usb: xhci: Print completion code in the empty ring warning Michal Pecio
2024-08-27 17:55 ` [PATCH 9/9] usb: xhci: Clean up and rename bad stream event handler Michal Pecio
2024-08-28 10:21 ` [PATCH 0/9] Various xhci fixes and improvements FPS
2024-08-28 13:24 ` Michał Pecio
2024-08-28 13:48 ` fps
2024-08-28 11:14 ` Mathias Nyman
2024-08-28 15:02 ` Michał Pecio
2024-08-30 11:53 ` Michał Pecio [this message]
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=20240830135307.7c57baa8@foxbook \
--to=michal.pecio@gmail.com \
--cc=linux-usb@vger.kernel.org \
--cc=mathias.nyman@intel.com \
--cc=mathias.nyman@linux.intel.com \
--cc=niklas.neronin@linux.intel.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).