Reminded me of Stallman's approach a little :D (I fully get why this would be necessary with slack, low bandwidth hotel/train wifi etc make the desktop app basically unusable here in the UK whilst travelling). https://stallman.org/stallman-computing.html
The controller/driver side of USB-3 is still in a miserable state. USB-3 is the source of endless frustration both at the lab and at private computers. Issues range from:
USB-3 controllers won't initialize reliably if there's a single low speed device conntected, like e.g. the keyboard/mouse I've connected to the USB-3 hub my my monitor, which I'd like to connected to a USB-3 port of my computer so that I can plug thumb drives into the side ports of the monitor.
If the do initialize they take ages to go through POST.
After waking from S3 it takes several minutes(!) for all devices to come up properly. Often the OS drops the controller into USB-2 mode, because keeping it USB-3 creates interrupt storms or similar.
Just having enabled the on-board USB-3 support without anything connected may cause random POST hangs.
All of this happening on pretty recent hardware (late 2015, but still available for purchase in that configuration as of today) with latest BIOS and drivers.
And that's without the issues USB-C introduces (alternate modes, power delivery, which requires driver support, etc.).
I noticed an interesting case when running Windows 7 with KVM and passing through one of my USB-3 controllers. The controller has a single port and a 3.0 hub connects to it. When I connect a USB-2 hub to the 3.0 hub, DPC latency spikes through the roof because of the interrupts. Even if there is nothing plugged into the second hub.
I wasn't sure if this was an issue with KVM, USB-3 or just a general issue with nesting hubs (even though I'm running low speed/power devices and a 3.1 port should be able to handle it) but you make it sound like it might indeed be an issue with USB-3
I don't see how you can say that, unless you've not actually used Windows ME and/or 10 for any significant period of time.
Windows 10 is very well polished. It's also the first windows where most of the user's gripes are stuff added on top of it (telemetry, simplified/restricted update system, ...).
Windows ME, by comparison, was so bad that merely leaving it running would end up causing PC Health crashes.
Well, aside from Windows Defender steadfastly turning itself off because it thinks I have a different AV package installed (I don't) and "helpfully" redirecting me to uninstall the offending software first. Only there is no other AV package to uninstall.
I have so far been absolutely unable to find any sort of resolution to this issue, short of a full reinstall.
But the kernel and system side are miles above ME. We're talking about a time when you could turn a system on, sit there and watch it for a couple hours without touching anything, and it would crash itself.
In the mean time you can buy a phone with MHL output, use BT for keyboard/mouse, and wifi for data. Root the device and dual boot Linux. By the time the phone is obsolete, USB-C will be stable.
Replaying the recorded code under either rr or UndoDB would have revealed that something odd was going on in the CPU when the recording replayed differently depending on whether HT was enabled. Obviously finding this would have required that the tester replayed the recording multiple times with and without HT enabled