[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: [PATCH v4 0/8] Introduce the microvm machine type
From: |
Sergio Lopez |
Subject: |
Re: [PATCH v4 0/8] Introduce the microvm machine type |
Date: |
Thu, 26 Sep 2019 10:22:12 +0200 |
User-agent: |
mu4e 1.2.0; emacs 26.2 |
Christian Borntraeger <address@hidden> writes:
> On 24.09.19 14:44, Sergio Lopez wrote:
>> Microvm is a machine type inspired by both NEMU and Firecracker, and
>> constructed after the machine model implemented by the latter.
>>
>> It's main purpose is providing users a minimalist machine type free
>> from the burden of legacy compatibility, serving as a stepping stone
>> for future projects aiming at improving boot times, reducing the
>> attack surface and slimming down QEMU's footprint.
>>
>> The microvm machine type supports the following devices:
>>
>> - ISA bus
>> - i8259 PIC
>> - LAPIC (implicit if using KVM)
>> - IOAPIC (defaults to kernel_irqchip_split = true)
>> - i8254 PIT
>> - MC146818 RTC (optional)
>> - kvmclock (if using KVM)
>> - fw_cfg
>> - One ISA serial port (optional)
>> - Up to eight virtio-mmio devices (configured by the user)
>
> Just out of curiosity.
> What is the reason for not going virtio-pci? Is the PCI bus really
> that expensive and complicated?
Well, expensive is a relative term. PCI does indeed require a
significant amount of code and cycles, but that's for a good reason, as
it provides an extensive bus logic allowing things like vector
configuration, hot-plug, chaining, etc...
On the other hand, MMIO lacks any kind of bus logic, as it basically
works by saying "hey, take a look at this address, there may be
something there" to the kernel, so of course is cheaper. This makes it
ideal for microvm's aim of supporting a VM with the smallest amount of
code, but bad for almost everything else.
I don't think this means PCI is expensive. That would be the case if
there were a bus providing similar functionality while requiring less
code and cycles. And this is definitely not the case of MMIO.
In other words, I think PCI cost is justified by its use case, while
MMIO simplicity makes it ideal for some specific purposes (like
microvm).
Cheers,
Sergio.
> FWIW, I do not complain. When people start using virtio-mmio more
> often this would also help virtio-ccw (which I am interested in)
> as this forces people to think beyond virtio-pci.
signature.asc
Description: PGP signature
- Re: [PATCH v4 0/8] Introduce the microvm machine type, (continued)
- Re: [PATCH v4 0/8] Introduce the microvm machine type, Sergio Lopez, 2019/09/25
- Re: [PATCH v4 0/8] Introduce the microvm machine type, David Hildenbrand, 2019/09/25
- when to use virtio (was Re: [PATCH v4 0/8] Introduce the microvm machine type), Paolo Bonzini, 2019/09/25
- Re: when to use virtio (was Re: [PATCH v4 0/8] Introduce the microvm machine type), David Hildenbrand, 2019/09/25
- Re: when to use virtio (was Re: [PATCH v4 0/8] Introduce the microvm machine type), Paolo Bonzini, 2019/09/25
- Re: when to use virtio (was Re: [PATCH v4 0/8] Introduce the microvm machine type), David Hildenbrand, 2019/09/25
- Re: [PATCH v4 0/8] Introduce the microvm machine type, Gerd Hoffmann, 2019/09/25
- Re: [PATCH v4 0/8] Introduce the microvm machine type, Paolo Bonzini, 2019/09/25
- Re: [PATCH v4 0/8] Introduce the microvm machine type, David Hildenbrand, 2019/09/25
Re: [PATCH v4 0/8] Introduce the microvm machine type, Christian Borntraeger, 2019/09/26
- Re: [PATCH v4 0/8] Introduce the microvm machine type,
Sergio Lopez <=