From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from mailman by lists.gnu.org with tmda-scanned (Exim 4.43) id 1NxGEd-00026v-4o for qemu-devel@nongnu.org; Thu, 01 Apr 2010 04:58:43 -0400 Received: from [140.186.70.92] (port=40478 helo=eggs.gnu.org) by lists.gnu.org with esmtp (Exim 4.43) id 1NxGEZ-00025n-5L for qemu-devel@nongnu.org; Thu, 01 Apr 2010 04:58:41 -0400 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.69) (envelope-from ) id 1NxGEU-0003X4-0d for qemu-devel@nongnu.org; Thu, 01 Apr 2010 04:58:35 -0400 Received: from mx1.redhat.com ([209.132.183.28]:64669) by eggs.gnu.org with esmtp (Exim 4.69) (envelope-from ) id 1NxGET-0003Wt-Om for qemu-devel@nongnu.org; Thu, 01 Apr 2010 04:58:33 -0400 Message-ID: <4BB46035.70701@redhat.com> Date: Thu, 01 Apr 2010 11:58:29 +0300 From: Avi Kivity MIME-Version: 1.0 References: <1269497376-21903-1-git-send-email-cam@cs.ualberta.ca> <4BAB30EE.4020509@redhat.com> <8286e4ee1003250924q7cca5e71u8b8b7c6d8b785eb8@mail.gmail.com> <4BAB90BB.5030401@redhat.com> <8286e4ee1003260914u5e6ceee2pf0c00590de182fb6@mail.gmail.com> <4BAE44F2.20801@redhat.com> <8286e4ee1003281248k204a5bd4tc48e6ccc755918b@mail.gmail.com> <4BB114AC.9040902@redhat.com> <20100331091250.GA31085@redhat.com> In-Reply-To: <20100331091250.GA31085@redhat.com> Content-Type: text/plain; charset=ISO-8859-1; format=flowed Content-Transfer-Encoding: 7bit Subject: [Qemu-devel] Re: [PATCH v3 1/1] Shared memory uio_pci driver List-Id: qemu-devel.nongnu.org List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , To: "Michael S. Tsirkin" Cc: Cam Macdonell , qemu-devel@nongnu.org, kvm@vger.kernel.org On 03/31/2010 12:12 PM, Michael S. Tsirkin wrote: > > >> $ echo 4> /sys/.../msix/allocate >> $ # subdirectories 0 1 2 3 magically appear >> $ # bind fd 13 to msix >> > There's no way to know, when qemu starts, how many vectors will be used > by driver. So I think we can just go ahead and allocate as many vectors > as supported by device at the moment when the first eventfd is bound. > That will cause a huge amount of vectors to be allocated. It's better to do this dynamically in response to guest programming. >> $ echo 13> /sys/.../msix/2/bind-fd >> > I think that this one can't work, both fd 13 and sysfs file will get > closed when /bin/echo process exits. > I meant figuratively. It's pointless to bind an eventfd from a shell. You'd use fprintf() from qemu to bind the eventfd. >> $ # from now on, msix interrupt 2 will call eventfd_signal() on fd 13 >> >> Call me old fashioned, but I prefer ioctls. >> > I think we will have to use ioctl or irqcontrol because of lifetime > issues outlines above. > The lifetime issues don't exist if you do all that from qemu. That's not to say I prefer sysfs to ioctl. What's irqcontrol? -- error compiling committee.c: too many arguments to function