Re: [RFC PATCH 07/20] Introduce qemu_put_vector() and qemu_put_vector_prepare() to use put_vector() in QEMUFile.

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



Anthony Liguori wrote:
On 04/22/2010 11:02 PM, Yoshiaki Tamura wrote:
Anthony Liguori wrote:
On 04/21/2010 12:57 AM, Yoshiaki Tamura wrote:
For fool proof purpose, qemu_put_vector_parepare should be called
before qemu_put_vector. Then, if qemu_put_* functions except this is
called after qemu_put_vector_prepare, program will abort().

Signed-off-by: Yoshiaki Tamura<tamura.yoshiaki@xxxxxxxxxxxxx>

I don't get it. What's this protecting against?

This was introduced to prevent mixing the order of normal write and
vector write, and flush QEMUFile buffer before handling vectors.
While qemu_put_buffer copies data to QEMUFile buffer,
qemu_put_vector() will bypass that buffer.

It's just fool proof purpose for what we encountered at beginning, and
if the user of qemu_put_vector() is careful enough, we can remove
qemu_put_vectore_prepare(). While writing this message, I started to
think that just calling qemu_fflush() in qemu_put_vector() would be
enough...

I definitely think removing the vector stuff in the first version would
simplify the process of getting everything merged. I'd prefer not to
have two apis so if vector operations were important from a performance
perspective, I'd want to see everything converted to a vector API.

I agree with your opinion.
I will measure the effect of introducing vector stuff, and post the data later.
--
To unsubscribe from this list: send the line "unsubscribe kvm" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at  http://vger.kernel.org/majordomo-info.html

[Index of Archives]     [KVM ARM]     [KVM ia64]     [KVM ppc]     [Virtualization Tools]     [Spice Development]     [Libvirt]     [Libvirt Users]     [Linux USB Devel]     [Linux Audio Users]     [Yosemite Questions]     [Linux Kernel]     [Linux SCSI]     [XFree86]
  Powered by Linux