Re: [Qemu-block] RFC iscsi: set FUA and DPO if !bs-enable_write_cache
On Tue, Apr 14, 2015 at 7:49 AM, Peter Lieven p...@kamp.de wrote: Ronnie came up with an idea to reduce latency if !bs-enable_write_cache for an iSCSI device. If !bs-enable_write_cache Qemu sends a flush after every single write. What could be done is the following: if (!bs-enable_write_cache) set FUA (force unit access) and DPO (disable page out) bits in every write cmd make iscsi_co_flush a NOOP in this case. Your thoughts? Do other commands besides writes rely on iscsi_co_flush()? Paolo: I checked NBD and noticed there is an inconsistency there. nbd_co_writev_1() uses FUA when bs-enable_write_cache == true but it also sends flushes. Does that mean it's doing unnecessary work? Stefan
Re: [Qemu-block] RFC iscsi: set FUA and DPO if !bs-enable_write_cache
On 14/04/2015 08:49, Peter Lieven wrote: Hi, Ronnie came up with an idea to reduce latency if !bs-enable_write_cache for an iSCSI device. If !bs-enable_write_cache Qemu sends a flush after every single write. What could be done is the following: if (!bs-enable_write_cache) set FUA (force unit access) and DPO (disable page out) bits in every write cmd make iscsi_co_flush a NOOP in this case. Your thoughts? Yes, that would work. In fact I'm not even sure you need DPO. speed of cache=writethrough in general doesn't matter much, except if whoever runs the guest knows that the host has battery-backed cache. In that case this trick would improve latency. You could get the same with -drive file.cache.no-flush=on but this would just work. Paolo
Re: [Qemu-block] RFC iscsi: set FUA and DPO if !bs-enable_write_cache
On 14/04/2015 11:04, Stefan Hajnoczi wrote: Do other commands besides writes rely on iscsi_co_flush()? Paolo: I checked NBD and noticed there is an inconsistency there. nbd_co_writev_1() uses FUA when bs-enable_write_cache == true but it also sends flushes. Does that mean it's doing unnecessary work? Yes, it is. Paolo
Re: [Qemu-block] RFC iscsi: set FUA and DPO if !bs-enable_write_cache
Am 14.04.2015 um 11:04 schrieb Stefan Hajnoczi: On Tue, Apr 14, 2015 at 7:49 AM, Peter Lieven p...@kamp.de wrote: Ronnie came up with an idea to reduce latency if !bs-enable_write_cache for an iSCSI device. If !bs-enable_write_cache Qemu sends a flush after every single write. What could be done is the following: if (!bs-enable_write_cache) set FUA (force unit access) and DPO (disable page out) bits in every write cmd make iscsi_co_flush a NOOP in this case. Your thoughts? Do other commands besides writes rely on iscsi_co_flush()? That I was asking myself to. I cannot think of any currently. WRITESAME, of course, but I would consider this as write. Peter