←back to thread

128 points ksec | 6 comments | | HN request time: 1.052s | source | bottom
1. Havoc ◴[] No.42752917[source]
I still don’t quite get how the cpu knows what is low priority or background. Or is that steered at OS level a bit like cpu pinning ?
replies(2): >>42752924 #>>42753121 #
2. computerliker ◴[] No.42752924[source]
https://en.m.wikipedia.org/wiki/Scheduling_(computing)
replies(1): >>42755283 #
3. tredre3 ◴[] No.42753121[source]
When the P/E model was introduced by Intel, there was a fairly long transition period where both Windows and Linux performed unpredictably poorly for most compute-intensive work loads, to the point where the advice was to disable the E cores entirely if you were gaming or doing anything remotely CPU-intensive or if your OS was never going to be updated (Win 7/8, many LTS Linux).

It's not entirely clear to me why it took a while to add support on Linux because the kernel already supported big.LITTLE and from the scheduler's point of view it's the same thing as Intel's P/E cores. I guess the patch must've been simple but it just took very long to trickle down to common distributions?

replies(1): >>42753714 #
4. baobun ◴[] No.42753714[source]
Not very surprisingly but IME running VMs you still want to pin (at least on Linux).
5. Havoc ◴[] No.42755283[source]
Right so how does the scheduler know what’s low priority?
replies(1): >>42758920 #
6. ahoka ◴[] No.42758920{3}[source]
I thought this was actually a good question, so I have trued to look it up. If I understand correctly the CPU tells the scheduler! I could not find exactly how though, maybe an MSR?