9fans - fans of the OS Plan 9 from Bell Labs
 help / color / mirror / Atom feed
* [9fans] VMX Cores
@ 2024-03-17 18:46 jubal.biggs
  2024-03-17 20:45 ` cinap_lenrek
  0 siblings, 1 reply; 3+ messages in thread
From: jubal.biggs @ 2024-03-17 18:46 UTC (permalink / raw)
  To: 9fans

[-- Attachment #1: Type: text/plain, Size: 654 bytes --]

In the man pages for VMX, it states under "bugs": 
          Currently only one core is supported.

Does anyone know why this is? The inclusion of this under "bugs" alongside the tendency to crash the kernel makes me think that VMX was originally intended to be able to leverage multiple cores and the author only got it "mostly working". Is there any documentation around what direction was going to be taken with this? 
------------------------------------------
9fans: 9fans
Permalink: https://9fans.topicbox.com/groups/9fans/Tc08115552282a0a2-M5172ccb429ebabb05ba2e9b6
Delivery options: https://9fans.topicbox.com/groups/9fans/subscription

[-- Attachment #2: Type: text/html, Size: 1691 bytes --]

^ permalink raw reply	[flat|nested] 3+ messages in thread

* Re: [9fans] VMX Cores
  2024-03-17 18:46 [9fans] VMX Cores jubal.biggs
@ 2024-03-17 20:45 ` cinap_lenrek
  2024-03-18 11:40   ` hiro
  0 siblings, 1 reply; 3+ messages in thread
From: cinap_lenrek @ 2024-03-17 20:45 UTC (permalink / raw)
  To: 9fans

for the kernel part, a devvmx vm *IS* a core
basically and the physical memory that core
sees is passed as a segment to the device.

so having multiple cpu support should be fine
without having even to change the kernel part,
you just have multiple vmx instances share a
memory segment.

however, to be practical, you'd need to add
emulation code for the apic interrupt controller
as well provide acpi or mp tables...

reason is a core is started with a inter processor
interrupt thru the apic. the kernel discoveres
the apics thru eigther MP tables or ACPI tables.

and the processor comes up in real-mode, which might
have some limitations in what hardware will emulate
for us so a interpreter might be needed.
(tho i'm not fully sure on this)

(note, right now vmx has no BIOS and it implements
each OS bootloader itself so it starts executing
the kernel in 32 bit mode directly).

i dont see vmx causing kernel crashes for me.
however, i think the author meant to express is lack
of confidence in the air-tightiness of vmx giving
the zillions of architectual registers you have to
setup to contain a guest. it is easy to forget
to set some bit and everything works until someone
manages to exploit that.

patches welcome.

--
cinap

------------------------------------------
9fans: 9fans
Permalink: https://9fans.topicbox.com/groups/9fans/Tc08115552282a0a2-M6ac623797c50743cf9de92ad
Delivery options: https://9fans.topicbox.com/groups/9fans/subscription

^ permalink raw reply	[flat|nested] 3+ messages in thread

* Re: [9fans] VMX Cores
  2024-03-17 20:45 ` cinap_lenrek
@ 2024-03-18 11:40   ` hiro
  0 siblings, 0 replies; 3+ messages in thread
From: hiro @ 2024-03-18 11:40 UTC (permalink / raw)
  To: 9fans

> i dont see vmx causing kernel crashes for me.
> however, i think the author meant to express is lack
> of confidence in the air-tightiness of vmx giving
> the zillions of architectual registers you have to
> setup to contain a guest. it is easy to forget
> to set some bit and everything works until someone
> manages to exploit that.

and not like any competitor has any great solution to that either. the
hardware just never was built for such strong isolation to
meaningfully prevent that kind of exploit. and if it did, there would
still always be other side-channels. just less obvious ones (from
today's pov).
in terms of stability, my slowlaris hypervisor (their own vmx plus
qemu) has finally reached some limit, which destroyed the guest
kernel's interpretation of time, which created some centuries of
timeshifting, waits don't fire any more, and suddenly i have 1000s
days of uptime bec. it's like a hundred years later now. forced me to
destroy this virtual computer and thus reboot the guest. :D stuff
breaks. everywhere. vmx is small, so actually it might break less in
some edge-cases. but yes, virtualization is one more layer, and the
interfaces, drivers, aren't as minimal as they could be, so
virtualization still sucks. even with all these hw optimizations now.
still a neat hack, i guess if you want to implement multi-core vmx, a
lot of firefox on vmx on plan9 users will be happy. otherwise, what do
we need that needs multiple cores in a vm?

------------------------------------------
9fans: 9fans
Permalink: https://9fans.topicbox.com/groups/9fans/Tc08115552282a0a2-M62c7b76e5e8a766d7ecc601d
Delivery options: https://9fans.topicbox.com/groups/9fans/subscription

^ permalink raw reply	[flat|nested] 3+ messages in thread

end of thread, other threads:[~2024-03-18 11:41 UTC | newest]

Thread overview: 3+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2024-03-17 18:46 [9fans] VMX Cores jubal.biggs
2024-03-17 20:45 ` cinap_lenrek
2024-03-18 11:40   ` hiro

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).