[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: [Qemu-devel] QEMU patch to allow VM introspection via libvmi
From: |
Eduardo Habkost |
Subject: |
Re: [Qemu-devel] QEMU patch to allow VM introspection via libvmi |
Date: |
Thu, 22 Oct 2015 19:47:19 -0200 |
User-agent: |
Mutt/1.5.23 (2014-03-12) |
On Thu, Oct 22, 2015 at 01:57:13PM -0600, Valerio Aimale wrote:
> On 10/22/15 1:12 PM, Eduardo Habkost wrote:
> >On Wed, Oct 21, 2015 at 12:54:23PM +0200, Markus Armbruster wrote:
> >>Valerio Aimale <address@hidden> writes:
> >[...]
> >>>There's also a similar patch, floating around the internet, the uses
> >>>shared memory, instead of sockets, as inter-process communication
> >>>between libvmi and QEMU. I've never used that.
> >>By the time you built a working IPC mechanism on top of shared memory,
> >>you're often no better off than with AF_LOCAL sockets.
> >>
> >>Crazy idea: can we allocate guest memory in a way that support sharing
> >>it with another process? Eduardo, can -mem-path do such wild things?
> >It can't today, but just because it creates a temporary file inside
> >mem-path and unlinks it immediately after opening a file descriptor. We
> >could make memory-backend-file also accept a full filename as argument,
> >or add a mechanism to let QEMU send the open file descriptor to a QMP
> >client.
> >
> Eduardo, would my "artisanal" idea of creating an mmap'ed image of the guest
> memory footprint work, augmented by Eric's suggestion of having the qmp
> client pass the filename?
The code below doesn't make sense to me.
>
> qmp_pmemmap( [...]) {
>
> char *template = "/tmp/QEM_mmap_XXXXXXX";
> int mmap_fd;
> uint8_t *local_memspace = malloc( (size_t) 8589934592 /* assuming VM
> with 8GB RAM */);
>
> cpu_physical_memory_rw( (hwaddr) 0, local_memspace , (hwaddr)
> 8589934592 /* assuming VM with 8GB RAM */, 0 /* no write for now will
> discuss write later */);
Are you suggesting copying all the VM RAM contents to a whole new area?
Why?
>
> mmap_fd = mkstemp("/tmp/QEUM_mmap_XXXXXXX");
>
> mmap((void *) local_memspace, (size_t) 8589934592, PROT_READ |
> PROT_WRITE, MAP_SHARED | MAP_ANON, mmap_fd, (off_t) 0);
I don't understand what you are trying to do here.
>
> /* etc */
>
> }
>
> pmemmap would return the following json
>
> {
> 'success' : 'true',
> 'map_filename' : '/tmp/QEM_mmap_1234567'
> }
>
>
--
Eduardo
- Re: [Qemu-devel] QEMU patch to allow VM introspection via libvmi, (continued)
- Re: [Qemu-devel] QEMU patch to allow VM introspection via libvmi, Valerio Aimale, 2015/10/22
- Re: [Qemu-devel] QEMU patch to allow VM introspection via libvmi, Eric Blake, 2015/10/22
- Re: [Qemu-devel] QEMU patch to allow VM introspection via libvmi, Eduardo Habkost, 2015/10/22
- Re: [Qemu-devel] QEMU patch to allow VM introspection via libvmi, Valerio Aimale, 2015/10/22
- Re: [Qemu-devel] QEMU patch to allow VM introspection via libvmi, Eric Blake, 2015/10/22
- Re: [Qemu-devel] QEMU patch to allow VM introspection via libvmi, Valerio Aimale, 2015/10/22
- Re: [Qemu-devel] QEMU patch to allow VM introspection via libvmi,
Eduardo Habkost <=
- Re: [Qemu-devel] QEMU patch to allow VM introspection via libvmi, Valerio Aimale, 2015/10/22
- Re: [Qemu-devel] QEMU patch to allow VM introspection via libvmi, Daniel P. Berrange, 2015/10/23
- Re: [Qemu-devel] QEMU patch to allow VM introspection via libvmi, Eduardo Habkost, 2015/10/23
- Re: [Qemu-devel] QEMU patch to allow VM introspection via libvmi, Eduardo Habkost, 2015/10/23
- Re: [Qemu-devel] QEMU patch to allow VM introspection via libvmi, Valerio Aimale, 2015/10/23
- Re: [Qemu-devel] QEMU patch to allow VM introspection via libvmi, Markus Armbruster, 2015/10/26
- Re: [Qemu-devel] QEMU patch to allow VM introspection via libvmi, Valerio Aimale, 2015/10/26
- Re: [Qemu-devel] QEMU patch to allow VM introspection via libvmi, Eduardo Habkost, 2015/10/26
- Re: [Qemu-devel] QEMU patch to allow VM introspection via libvmi, Valerio Aimale, 2015/10/27
- Re: [Qemu-devel] QEMU patch to allow VM introspection via libvmi, Markus Armbruster, 2015/10/27