[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index] Re: [Xen-devel] new knob to tweak caching mode for backends
On Wed, 28 May 2014, Olaf Hering wrote: > On Tue, May 27, Stefano Stabellini wrote: > > > So I think that as long as we keep the default behaviour sane, we can > > expose whatever advanced options we like. > > Its not about changing defaults, but rather provide knobs for the new > features. Now that the backend is qdisk (no idea when this became the > default) qemu is in charge. qemu offers a cache= option, and backends > may honour the value. > libvirt seems to have a 1:1 mapping for the qemu backend, I have to > check if libvirt does any processing or if it passes cache= as is. > > Now from libirt->libxl->qemu there is no way to pass cache= because > libxl got no cache= knob while qdisk became the default. Again, I have > to check what the libxl driver in libvirt does if cache= specified, if > its ignored or handled as error. > > > So with this in mind, will a patch be accepted to add some sort of > "char *cache" member to struct libxl_disk_device? We need to come up with a decent interface at the libxl level, so at the very least I would use an enum cache instead of a char*. > Should it accept all > values libvirt and qemu knows about, or just the few values qdisk can > actually handle (nocache|write-back|directsync)? I would only do the ones that qdisk can handle. > In addition to that: the direct-io-safe knob does not only enable AIO it > also changes from write-back to directsync. Qemu has a knob aio=native > and cache= for directsync. Looks like direct-io-safe merges both. Is > that intentional? Yes, because aio=native doesn't actually do anything unless cache=directsync is also set. See for example block/raw-posix.c:raw_set_aio. > If libxl gets a cache= option, should it be possible > to specify "direct-io-safe,cache=write-back"? In practice if you do, you loose the advantage of passing direct-io-safe. directio is only used when both BDRV_O_NATIVE_AIO and BDRV_O_NOCACHE are specified. It really doesn't make sense to pass direct-io-safe with cache, unless cache=directsync is used but then it would be superfluous. _______________________________________________ Xen-devel mailing list Xen-devel@xxxxxxxxxxxxx http://lists.xen.org/xen-devel
|
Lists.xenproject.org is hosted with RackSpace, monitoring our |