Bug 1652838
Summary: | [ovirt] [RFE] Add ability to set Qcow2 l2-cache-size and Qcow2 cluster size | ||||||
---|---|---|---|---|---|---|---|
Product: | [oVirt] ovirt-engine | Reporter: | Kai Zimmer <kai> | ||||
Component: | RFEs | Assignee: | Nobody <nobody> | ||||
Status: | CLOSED DEFERRED | QA Contact: | Raz Tamir <ratamir> | ||||
Severity: | unspecified | Docs Contact: | |||||
Priority: | unspecified | ||||||
Version: | 4.4.0 | CC: | bugs, eshenitz, kai, kwolf, nsoffer, tnisan | ||||
Target Milestone: | --- | Keywords: | FutureFeature | ||||
Target Release: | --- | ||||||
Hardware: | Unspecified | ||||||
OS: | Unspecified | ||||||
Whiteboard: | |||||||
Fixed In Version: | Doc Type: | If docs needed, set a value | |||||
Doc Text: | Story Points: | --- | |||||
Clone Of: | Environment: | ||||||
Last Closed: | 2021-09-29 11:33:06 UTC | Type: | Bug | ||||
Regression: | --- | Mount Type: | --- | ||||
Documentation: | --- | CRM: | |||||
Verified Versions: | Category: | --- | |||||
oVirt Team: | Storage | RHEL 7.3 requirements from Atomic Host: | |||||
Cloudforms Team: | --- | Target Upstream Version: | |||||
Embargoed: | |||||||
Attachments: |
|
Description
Kai Zimmer
2018-11-23 08:56:20 UTC
Created attachment 1508242 [details]
Qcow2 advanced image creation form (example)
Qcow2 advanced image creation form (example)
This is not related to ovirt-imageio. Moving to oVirt engine. Can qemu tune the cache size automatically based on the cluster size and the size of the image? I does make sense that all management systems running qemu and all users will have to calculate the cache size when qemu has all the info needed to do this. Regarding cluster size, this looks like something that that the user must configure, since you need to know the use case to tell what would be a good cluster size. So it looks like: - qemu should handle cache size automatically - management system can allow the user to set the cluster size What do you think? This setting is a tradeoff between memory usage and performance, so something that QEMU can't really decide without knowing what is more important to the user. Whether performance can benefit from a larger cache also depends on the workload (outside of benchmarks, nobody overwrites the whole disk with random I/O all the time). Old QEMU versions (such as 2.5 mentioned in the original report) were defaulting pretty much on the "saving memory" side, using a fixed 1 MB of L2 cache, which is enough to cover random I/O over a range of 8 GB without a cache miss. Since QEMU 3.1 (and backported the RHEL 7's 2.12), up to a certain size it dynamically defaults to a cache size that can keep the full set of L2 tables in memory so that after a warmup period, the disk is never accessed for reading L2 tables. On Linux, this upper limit is 32 MB per image, covering a range of 256 GB (assuming the default 64k cluster size). To reduce the memory overhead when it's not actually needed, cache-clean-interval=600 (10 minutes) is the default on Linux. For more details, see docs/qcow2-cache.txt in the QEMU source tree. I believe this is a reasonable default value for the common use cases, but as usual, "one size fits all" doesn't always work, so there may be use cases for which it isn't perfect. This request is not currently committed to 4.4.z, moving it to 4.5 This bug/RFE is more than 2 years old and it didn't get enough attention so far, and is now flagged as pending close. Please review if it is still relevant and provide additional details/justification/patches if you believe it should get more attention for the next oVirt release. This bug didn't get any attention in a long time, and it's not planned in foreseeable future. oVirt development team has no plans to work on it. Please feel free to reopen if you have a plan how to contribute this feature/bug fix. |