On 11/08/2017 23:00, Nitesh Narayan Lal wrote: > 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). You can use a separate virtq as Michael mentioned. Another possibility is to extend virtio-balloon to support 64-bit values in the virtqueues. Then when shifting PFNs right you have bits 52-63 free, and you can put flags in there (e.g. bit 52=0 means deflate, bit 52=1 means page hint). Of course, if your action is going to be MADV_DONTNEED, you don't need to do anything special. Paolo