By: Jörn Engel (joern.delete@this.purestorage.com), January 13, 2021 9:49 am
Room: Moderated Discussions
Maynard Handley (name99.delete@this.name99.org) on January 9, 2021 3:12 pm wrote:
>
> I ask this seriously: what does achieving raw metal linux achieve over VM linux?
Maynard has demonstrated multiple times that he doesn't want to learn, but to argue. So this answer is explicitly for everyone else. ;)
It is almost always about control.
- I regularly see seconds of latency for high-priority realtime threads in VMs. I used to see similar problems on bare metal - until I fixed the bugs. Fixing hypervisor bugs in a Linux hypervisor is already too painful to consider, with OSX it is plain impossible.
- There is no NMI timer interrupt, but you can simulate one by using performance counters. But inside a VM those counters don't work, so your interrupt only fires if you force the VM to burn CPU.
- Every hypervisor intercepts some keys. I've had to crawl through menus with a mouse to piece together sysrq-something or ctrl-alt-del. Bare metal simply doesn't annoy you in such ways.
- If you want to use the entire system, particularly all of RAM, the hypervisor will get in the way. You can pin two threads to two different CPUs inside the VM, but the hypervisor is still allowed to schedule those threads on the same physical CPU. Swap will happen in ways you cannot control. The entire VM may get killed without warning.
>
> I ask this seriously: what does achieving raw metal linux achieve over VM linux?
Maynard has demonstrated multiple times that he doesn't want to learn, but to argue. So this answer is explicitly for everyone else. ;)
It is almost always about control.
- I regularly see seconds of latency for high-priority realtime threads in VMs. I used to see similar problems on bare metal - until I fixed the bugs. Fixing hypervisor bugs in a Linux hypervisor is already too painful to consider, with OSX it is plain impossible.
- There is no NMI timer interrupt, but you can simulate one by using performance counters. But inside a VM those counters don't work, so your interrupt only fires if you force the VM to burn CPU.
- Every hypervisor intercepts some keys. I've had to crawl through menus with a mouse to piece together sysrq-something or ctrl-alt-del. Bare metal simply doesn't annoy you in such ways.
- If you want to use the entire system, particularly all of RAM, the hypervisor will get in the way. You can pin two threads to two different CPUs inside the VM, but the hypervisor is still allowed to schedule those threads on the same physical CPU. Swap will happen in ways you cannot control. The entire VM may get killed without warning.
Topic | Posted By | Date |
---|---|---|
Question to Torvalds | Paul | 2020/11/14 04:08 AM |
Question to Torvalds | Linus Torvalds | 2020/11/14 02:12 PM |
Question to Torvalds | never_released | 2020/11/14 05:12 PM |
Question to Torvalds | Doug S | 2020/11/15 09:55 AM |
Question to Torvalds | never_released | 2020/11/15 12:31 PM |
Question to Torvalds | Doug S | 2020/11/16 10:46 AM |
Question to Torvalds | Maxwell | 2020/11/16 11:49 AM |
Question to Torvalds | never_released | 2020/11/16 04:25 PM |
Question to Torvalds | lyra64 | 2020/11/23 11:23 AM |
Question to Torvalds | me | 2020/11/22 12:11 PM |
Question to Torvalds | James | 2020/11/25 06:59 AM |
Question to Torvalds | bakk | 2021/01/09 03:35 PM |
Question to Torvalds | Maynard Handley | 2021/01/09 04:12 PM |
He asked disingenuously (NT) | JS | 2021/01/09 08:33 PM |
He asked disingenuously | Maynard Handley | 2021/01/10 10:51 AM |
He asked disingenuously | JS | 2021/01/10 03:50 PM |
He asked disingenuously | Maynard Handley | 2021/01/10 06:02 PM |
Question to Torvalds | anon | 2021/01/10 07:01 PM |
Question to Torvalds | Maynard Handley | 2021/01/10 07:59 PM |
Question to Torvalds | anon | 2021/01/11 09:56 AM |
Question to Torvalds | Jukka Larja | 2021/01/12 05:50 AM |
Question to Torvalds | anon2 | 2021/01/10 07:21 PM |
Question to Torvalds | Maynard Handley | 2021/01/10 08:15 PM |
Question to Torvalds | Maynard Handley | 2021/01/10 08:22 PM |
Question to Torvalds | anon2 | 2021/01/10 08:47 PM |
Question to Torvalds | Maynard Handley | 2021/01/10 09:28 PM |
Question to Torvalds | anon2 | 2021/01/10 10:36 PM |
Question to Torvalds | Jukka Larja | 2021/01/11 06:21 AM |
Question to Torvalds | Maynard Handley | 2021/01/11 10:33 AM |
Question to Torvalds | anon2 | 2021/01/11 10:40 PM |
Question to Torvalds | Jukka Larja | 2021/01/12 06:05 AM |
Question to Torvalds | Maynard Handley | 2021/01/12 09:42 AM |
Question to Torvalds | Jukka Larja | 2021/01/12 11:15 AM |
Question to Torvalds | Maynard Handley | 2021/01/12 12:07 PM |
Question to Torvalds | Jukka Larja | 2021/01/13 06:24 AM |
Question to Torvalds | Michael S | 2021/01/13 08:45 AM |
Question to Torvalds | Ungo | 2021/01/13 07:34 PM |
Question to Torvalds | Jörn Engel | 2021/01/13 09:49 AM |
Question to Torvalds | Etienne Lorrain | 2021/01/14 03:02 AM |
Question to Torvalds | dmcq | 2021/01/14 08:26 AM |
Question to Torvalds | Jörn Engel | 2021/01/14 11:42 AM |
Question to Torvalds | dmcq | 2021/01/14 12:13 PM |
Question to Torvalds | Jukka Larja | 2021/01/15 06:57 AM |
Question to Torvalds | dmcq | 2021/01/15 08:27 AM |
Question to Torvalds | Anne O. Nymous | 2021/01/15 12:19 PM |
Question to Torvalds | dmcq | 2021/01/15 02:58 PM |
Question to Torvalds | Jukka Larja | 2021/01/15 09:04 PM |
Question to Torvalds | dmcq | 2021/01/16 02:50 AM |
Question to Torvalds | Jukka Larja | 2021/01/16 09:37 PM |
Question to Torvalds | dmcq | 2021/01/17 06:39 AM |
Question to Torvalds | Adrian | 2021/01/17 08:46 AM |
Question to Torvalds | dmcq | 2021/01/17 09:36 AM |
Question to Torvalds | Jukka Larja | 2021/01/17 09:35 AM |
Question to Torvalds | dmcq | 2021/01/17 10:01 AM |
Question to Torvalds | Jukka Larja | 2021/01/17 10:52 AM |
Question to Torvalds | Doug S | 2021/01/14 10:37 AM |