Hacker News new | past | comments | ask | show | jobs | submit login

AFAIK Thunderbolt could be less-marketingly-termed External PCIe --- and from that perspective, it is amazing that multiple-gigabits-per-second can be transferred on a thin cable between a computer and external devices, with "acceptably small" (but clearly not zero) error rates. I believe the spec is unfortunately still proprietary and confidential, which certainly reduces the number of people who can even try to fix any bugs in implementations.

I should note that Big Sur is very stable, requiring only weekly-ish reboots.

Wow. That's not what I would call "very stable" at all --- unless you mean in the context of using Thunderbolt devices.




The data rates are impressive but that doesn't really excuse anything. The data rate is more or less isolated from everything else in PCIe. The protocols that are glitching out don't care if it's 40Gbps or 480Mbps.


The faster the speed, the more critical signal integrity becomes; and I suspect at least some of the flakiness is due to how tight the tolerances are at Gbps speeds.


It's packet-based, and you can delay a packet by a lot of time and it won't cause any problems. So at higher levels there shouldn't be any tight tolerances.

Signal integrity and timings are really important at the physical layer, but I don't think that's what's breaking.


PCIe is packet-based and will retry, but typically the drivers for PCIe devices are not written to expect that e.g. accesses to its MMIO space take arbitrarily long times to complete, and the software above and around the driver (including the OS) can also be affected by such delays. Likewise, a device that's processing a continuous stream of data is going to overrun or underrun if its requests for interrupts or DMA get delayed due to retries caused by physical layer errors.


But as far as I know an x1 link works fine with real devices, and very much should work fine with real devices. And at the same time, to slow down a normal connection to less than an x1 link you'd need something like a very broken cable that just barely doesn't lose everything, and also doesn't get rejected by the system. So I still doubt physical level errors are the cause of weird flakiness except in very rare cases.


That's true, but I've also seen PCIe devices survive droping to kb/s bandwidth before failing over like you're saying.


There is an External PCIe cabling spec though it appears to be inferior to thunderbolt.

- no power

- limited ASPM support, no CPM support

- much larger (36 pins)

additionally, I imagine user experience is worse due to most systems only enumerate at startup and dont handle surprise unplug well at all.

https://pcisig.com/specifications/pciexpress/pcie_cabling1.0...


Expresscard also exists as a hotswappable version of PCIe for laptops. It's only one lane, so even the modern laptops with PCIe v3 have dismal bandwidth compared to USB3 or Displayport.

Surprise unplugs aren't great. On windows you can safely eject a GPU from your laptop with the taskbar icon.

Compared to thunderbolt it's an order of magnitude cheaper.


> multiple-gigabits-per-second can be transferred on a thin cable between a computer and external devices

Proper TB rated cables are far from being thin.




Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact

Search: