Skip to content

Comment on Arm64EC – Build and port apps for native performance on Armparent

Comments

On 386 or anything newer, using it was _slower_ than implementing it in software

...and thus it didn't get used, meaning Intel didn't make it faster, and so the vicious cycle continued.

Hardware task switching could've made software simpler and more forward-compatible.

Of course they eventually reinvented most of it with the virtualisation extensions anyway.

Actually it did get used. Linux and Windows used the x86 TSS for process context-switching for years.

During that time, Linux had a limit on the number of processes, which was due the maximum number of TSS entries that fit in the x86 GDT.

Eventually the Linux kernel was changed to the more versatile context-switch method it uses today. Among other things, this change was important for thread performance, as thread context switches can skip the TLB flush. Same for kernel mode tasks. Software task switching also greatly increased the number of processes and threads that can be launched, from about 8000 (across all CPU cores) to millions.

AboutSource Built by g1lg1l

Hackerly is an independent reader for Hacker News, built on the public HN API. Not affiliated with Y Combinator.