From mboxrd@z Thu Jan 1 00:00:00 1970 From: "Michael S. Tsirkin" Subject: Re: [Query] [GUEST PAGE HINTING] How to handle virtqueue_kick from the guest in QEMU Date: Thu, 17 Aug 2017 18:48:24 +0300 Message-ID: <20170817184536-mutt-send-email-mst@kernel.org> References: Mime-Version: 1.0 Content-Type: text/plain; charset=us-ascii Cc: kvm@vger.kernel.org, pagupta@redhat.com, wei.w.wang@intel.com, yang.zhang.wz@gmail.com, riel@redhat.com, david@redhat.com To: Nitesh Narayan Lal Return-path: Received: from mx1.redhat.com ([209.132.183.28]:36688 "EHLO mx1.redhat.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1753142AbdHQPsa (ORCPT ); Thu, 17 Aug 2017 11:48:30 -0400 Content-Disposition: inline In-Reply-To: Sender: kvm-owner@vger.kernel.org List-ID: On Fri, Aug 11, 2017 at 05:00:15PM -0400, Nitesh Narayan Lal wrote: > Hi, > > In my project of "Guest Page Hinting"[1], I have a list of pages which > are supposed to be passed to the host. Now I am trying to figure out the > changes which I should make in QEMU in order to pass this request to the > host. > > Unlike virtio balloon where the request to deflate/inflate is derived > from the host, in my case, I need to figure out how the request which is > generated in the guest could be received in QEMU. One way to go about > this is to have my own function pointer pointing a to a function > qemu_page_hinting() in virtio-balloon.c under QEMU. Now the part where I > am not sure is how exactly I will ensure that when virtqueue_kick > arrives in QEMU this function is invoked. (I am planning to use the same > deflate_vq for my use-case). > > Another way could be to make changes in the existing > "virtio_balloon_handle_output" and may add another flag in the virtqueue > structure using which I could distinguish if it's a guest page hinting > request. But even in this case, I am not sure how will it work because > from what I understood when a user sends a deflate request then this > function gets invoked and after all the processing it notifies the > guest. (Which is opposite of what I am trying to achieve). > > Any suggestion what should be the right way to go forward? > > [1] https://www.spinics.net/lists/kvm/msg153666.html I would just create a new vq for this, at least initially. > -- > > Regards > Nitesh >