This is such a great post, I'm surprised it doesn't have more traction but maybe people aren't into reading longform plain text.<p>"spamming Internet users at scale requires a lot of parallel activity, after all. If those processes can be segregated so that all siblings of any given core run processes from the same customer, we can be spared the gruesome prospect of one spammer stealing another's target list — or somebody else's private keys."
That's very fast in adding the feature to kernel to address the loss of performance due to Sprectre.<p>Assigning OS threads of the same process to the hyperthreads in the same core is a good thing anyway. The threads probably share many data in the process and can benefit from the shared cache in the core.
Is there not a way to pin processes to cores in linux already, and/or why it cannot be used to achieve a similar thing (pin user1 to cores 0,1 and user2 to cores 2,3)?
The first link in the linked article mentions Linus saying (in 2019) that performance needs to be better than simply running with SMT disabled.<p>There is no mention of performance though. How is it? Presumably it is better!! And if so, this sounds like a concept that the OpenBSD community would be interested in since they prefer SMT disabled for security reasons.
<p><pre><code> int prctl(int option, unsigned long arg2, unsigned long arg3, unsigned long arg4, unsigned long arg5);
</code></pre>
Is there a reason why a more idiomatic void * to struct wasn't used for the args?
> When one sibling is executing, the other must wait. SMT is useful because CPUs often go idle while waiting for events — usually the arrival of data from memory. While one CPU waits, the other can be executing<p>Is this accurate? I was under the impression SMT gains are not from running other threads when one is blocked (preemption is a old feature) but the processor having a multi stage pipeline so that the net number of instructions that are executed per cycle is more than 1 (closer to 2 in the above example)
Random question: does anyone use recent mainline kernels with Ubuntu 20.04? How? How's the experience?<p>I'm currently on Ubuntu HWE line, but that only goes to 5.11.0. Ubuntu kernel devs have debs for [mainline][1], but I'm not finding any good feedback/experience stories about these.<p>[1]: <a href="https://kernel.ubuntu.com/~kernel-ppa/mainline/" rel="nofollow">https://kernel.ubuntu.com/~kernel-ppa/mainline/</a>
> While one might argue that cloud-computing providers are usually grumpy anyway, there is still value in anything that might improve their mood.<p>I'm dead haha. This is great.