Question to Torvalds

By: dmcq (, January 14, 2021 8:26 am
Room: Moderated Discussions
Etienne Lorrain ( on January 14, 2021 2:02 am wrote:
> Jörn Engel ( on January 13, 2021 8:49 am wrote:
> > Maynard Handley ( 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.
> And another problem with Virtual Managers (but this one not only on Macs):
> You might want to check your whole DRAM for failing bits, for instance using memtest under BIOS, and
> having a virtual (i386 real-mode) machine created by the EFI BIOS (with maximum 4 Gbytes of DRAM) will
> lead to a "memory error" or crash when attempting to check the DRAM at address 0x1_0000_0000...
> I suppose someone will say that Macs have a perfect DRAM and never develop any randomly failing bit.

I'm basically in agreement with Maynard about this. I've never had anywhere near as many customers as Apple :-) but even so a major consideration for me has always been the support costs. Right down to checking the documentation shows how users should do things rather than showing everything off at random. And leaving the bare metal free to be exploited so people can override the power controls or mess with the security enclave or send silly commands off to the GPU which haven't been fully checked sounds like a support problem to me. What does it give a user that a good VM environment doesn't - and if there are occassional extra requirements isn't that an argument for improving the hypervisor instead? The only gain I'd see is that hardware and security problems would be found and fixed quicker!

Intel have gone down the path of trying to make it look like they provide bare metal but sticking in levels below ring 0 and hiding that from the users. I don't think that is a good approach. Far better to come clean about the hypervisor. And make it clear who's fault it is if the hardware is bricked or you can't do something that should be possible. On the ARM side as far as I can see they have spent a lot of time designing facilities to further improve virtualization in the future, right up to having efficient multiple nesting of hypervisors. If they saw bare metal as the way forward they would not spend so much time and waste silcon space making certain everything could be virtualized well.
< Previous Post in ThreadNext Post in Thread >
TopicPosted ByDate
Question to TorvaldsPaul2020/11/14 04:08 AM
  Question to TorvaldsLinus Torvalds2020/11/14 02:12 PM
    Question to Torvaldsnever_released2020/11/14 05:12 PM
      Question to TorvaldsDoug S2020/11/15 09:55 AM
        Question to Torvaldsnever_released2020/11/15 12:31 PM
          Question to TorvaldsDoug S2020/11/16 10:46 AM
            Question to TorvaldsMaxwell2020/11/16 11:49 AM
              Question to Torvaldsnever_released2020/11/16 04:25 PM
                Question to Torvaldslyra642020/11/23 11:23 AM
    Question to Torvaldsme2020/11/22 12:11 PM
    Question to TorvaldsJames2020/11/25 06:59 AM
    Question to Torvaldsbakk2021/01/09 03:35 PM
      Question to TorvaldsMaynard Handley2021/01/09 04:12 PM
        He asked disingenuously (NT)JS2021/01/09 08:33 PM
          He asked disingenuouslyMaynard Handley2021/01/10 10:51 AM
            He asked disingenuouslyJS2021/01/10 03:50 PM
              He asked disingenuouslyMaynard Handley2021/01/10 06:02 PM
        Question to Torvaldsanon2021/01/10 07:01 PM
          Question to TorvaldsMaynard Handley2021/01/10 07:59 PM
            Question to Torvaldsanon2021/01/11 09:56 AM
              Question to TorvaldsJukka Larja2021/01/12 05:50 AM
        Question to Torvaldsanon22021/01/10 07:21 PM
          Question to TorvaldsMaynard Handley2021/01/10 08:15 PM
            Question to TorvaldsMaynard Handley2021/01/10 08:22 PM
            Question to Torvaldsanon22021/01/10 08:47 PM
              Question to TorvaldsMaynard Handley2021/01/10 09:28 PM
                Question to Torvaldsanon22021/01/10 10:36 PM
        Question to TorvaldsJukka Larja2021/01/11 06:21 AM
          Question to TorvaldsMaynard Handley2021/01/11 10:33 AM
            Question to Torvaldsanon22021/01/11 10:40 PM
            Question to TorvaldsJukka Larja2021/01/12 06:05 AM
              Question to TorvaldsMaynard Handley2021/01/12 09:42 AM
                Question to TorvaldsJukka Larja2021/01/12 11:15 AM
                  Question to TorvaldsMaynard Handley2021/01/12 12:07 PM
                    Question to TorvaldsJukka Larja2021/01/13 06:24 AM
                      Question to TorvaldsMichael S2021/01/13 08:45 AM
                    Question to TorvaldsUngo2021/01/13 07:34 PM
        Question to TorvaldsJörn Engel2021/01/13 09:49 AM
          Question to TorvaldsEtienne Lorrain2021/01/14 03:02 AM
            Question to Torvaldsdmcq2021/01/14 08:26 AM
              Question to TorvaldsJörn Engel2021/01/14 11:42 AM
                Question to Torvaldsdmcq2021/01/14 12:13 PM
                  Question to TorvaldsJukka Larja2021/01/15 06:57 AM
                    Question to Torvaldsdmcq2021/01/15 08:27 AM
                      Question to TorvaldsAnne O. Nymous2021/01/15 12:19 PM
                        Question to Torvaldsdmcq2021/01/15 02:58 PM
                          Question to TorvaldsJukka Larja2021/01/15 09:04 PM
                            Question to Torvaldsdmcq2021/01/16 02:50 AM
                              Question to TorvaldsJukka Larja2021/01/16 09:37 PM
                                Question to Torvaldsdmcq2021/01/17 06:39 AM
                                  Question to TorvaldsAdrian2021/01/17 08:46 AM
                                    Question to Torvaldsdmcq2021/01/17 09:36 AM
                                  Question to TorvaldsJukka Larja2021/01/17 09:35 AM
                                    Question to Torvaldsdmcq2021/01/17 10:01 AM
                                      Question to TorvaldsJukka Larja2021/01/17 10:52 AM
            Question to TorvaldsDoug S2021/01/14 10:37 AM
Reply to this Topic
Body: No Text
How do you spell avocado?