[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: [Qemu-devel] [PATCH v3 0/4] Introduce the microvm machine type
From: |
Michael S. Tsirkin |
Subject: |
Re: [Qemu-devel] [PATCH v3 0/4] Introduce the microvm machine type |
Date: |
Thu, 25 Jul 2019 16:30:44 -0400 |
On Thu, Jul 25, 2019 at 05:35:01PM +0200, Paolo Bonzini wrote:
> On 25/07/19 16:46, Michael S. Tsirkin wrote:
> > Actually, I think I have a better idea.
> > At the moment we just get an exit on these reads and return all-ones.
> > Yes, in theory there could be a UR bit set in a bunch of
> > registers but in practice no one cares about these,
> > and I don't think we implement them.
> > So how about mapping a single page, read-only, and filling it
> > with all-ones?
>
> Yes, that's nice indeed. :) But it does have some cost, in terms of
> either number of VMAs or QEMU RSS since the MMCONFIG area is large.
>
> What breaks if we return all zeroes? Zero is not a valid vendor ID.
>
> Paolo
I think I know what you are thinking of doing:
map /dev/zero so we get a single VMA but all mapped to
a single zero pte?
We could start with that, at least as an experiment.
Further:
- we can limit the amount of fragmentation and simply
unmap everything if we exceed a specific limit:
with more than X devices it's no longer a lightweight
VM anyway :)
- we can implement /dev/ones. in fact, we can implement
/dev/byteXX for each possible value, the cost will
be only 1M on a 4k page system.
it might come in handy for e.g. free page hinting:
at the moment if guest memory is poisoned
we can not unmap it, with this trick we can
map it to /dev/byteXX.
Note that the kvm memory array is still fragmented.
Again, we can fallback on disabling the optimization
if there are too many devices.
--
MST
- Re: [Qemu-devel] [PATCH v3 0/4] Introduce the microvm machine type, (continued)
- Re: [Qemu-devel] [PATCH v3 0/4] Introduce the microvm machine type, Sergio Lopez, 2019/07/23
- Re: [Qemu-devel] [PATCH v3 0/4] Introduce the microvm machine type, Stefan Hajnoczi, 2019/07/23
- Re: [Qemu-devel] [PATCH v3 0/4] Introduce the microvm machine type, Paolo Bonzini, 2019/07/23
- Re: [Qemu-devel] [PATCH v3 0/4] Introduce the microvm machine type, Paolo Bonzini, 2019/07/24
- Re: [Qemu-devel] [PATCH v3 0/4] Introduce the microvm machine type, Sergio Lopez, 2019/07/25
- Re: [Qemu-devel] [PATCH v3 0/4] Introduce the microvm machine type, Michael S. Tsirkin, 2019/07/25
- Re: [Qemu-devel] [PATCH v3 0/4] Introduce the microvm machine type, Paolo Bonzini, 2019/07/25
- Re: [Qemu-devel] [PATCH v3 0/4] Introduce the microvm machine type, Michael S. Tsirkin, 2019/07/25
- Re: [Qemu-devel] [PATCH v3 0/4] Introduce the microvm machine type, Paolo Bonzini, 2019/07/25
- Re: [Qemu-devel] [PATCH v3 0/4] Introduce the microvm machine type, Michael S. Tsirkin, 2019/07/25
- Re: [Qemu-devel] [PATCH v3 0/4] Introduce the microvm machine type,
Michael S. Tsirkin <=
- Re: [Qemu-devel] [PATCH v3 0/4] Introduce the microvm machine type, Paolo Bonzini, 2019/07/26
- Re: [Qemu-devel] [PATCH v3 0/4] Introduce the microvm machine type, Michael S. Tsirkin, 2019/07/26
- Re: [Qemu-devel] [PATCH v3 0/4] Introduce the microvm machine type, Stefano Garzarella, 2019/07/23
- Re: [Qemu-devel] [PATCH v3 0/4] Introduce the microvm machine type, Stefano Garzarella, 2019/07/24