What are the live time rules of ioreq->buf? In my testing the memory usage of qemu is constantly growing from about 250MB to several GB after a few days.
Some debugging shows that ioreq_runio_qemu_aio() overwrites ioreq->buf, which contributes to the leak. In addition, ioreq_reset() also just globbers iorew->buf. While this was observed with a backport of xen_disk changes to qemu-2.9, the code in xen_disk.c did not change in this regard. I changed the code to call qemu_vfree(ioreq->buf) in the few places that globber the pointer, that fixes the leak for me. Right now neither qemu-3.0 nor 3.1 for me, so I can not test qemu.git#master if it eventually behaves different than qemu.git#stable-2.9+backport. Olaf
signature.asc
Description: PGP signature
_______________________________________________ Xen-devel mailing list Xen-devel@lists.xenproject.org https://lists.xenproject.org/mailman/listinfo/xen-devel