|
From: | Valerio Aimale |
Subject: | Re: [Qemu-devel] QEMU patch to allow VM introspection via libvmi |
Date: | Fri, 23 Oct 2015 13:08:57 -0600 |
User-agent: | Mozilla/5.0 (Macintosh; Intel Mac OS X 10.10; rv:38.0) Gecko/20100101 Thunderbird/38.3.0 |
On 10/23/15 12:55 PM, Eduardo Habkost wrote:
Eduardo, I think it would be a common rule of politeness not to pass any judgement on a person that you don't know, but for some texts in a mailing list. I think I understand how mmap() works, and very well.On Thu, Oct 22, 2015 at 03:51:28PM -0600, Valerio Aimale wrote:On 10/22/15 3:47 PM, Eduardo Habkost wrote: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.Ok. What I am trying to do is to create a mmapped() memory area of the guest physical memory that can be shared between QEMU and an external process, such that the external process can read arbitrary locations of the qemu guest physical memory. In short, I'm using mmap MAP_SHARED to share the guest memory area with a process that is external to QEMU does it make better sense now?I think you are confused about what mmap() does. It will create a new mapping into the process address space, containing the data from an existing file, not the other way around.
Participating is this discussion has been a struggle for me. For the good of the libvmi users, I have been trying to ignore the judgements, the comments and so on. But, alas, I throw my hands up in the air, and I surrender.
I think libvmi can live, as it has for the past years, by patching the QEMU source tree on as needed basis, and keeping the patch in the libvmi source tree, without disturbing any further the QEMU community.
[Prev in Thread] | Current Thread | [Next in Thread] |