Bug 1544255
Summary: | [RFE] Add virtio packed ring support in libvirt | |||
---|---|---|---|---|
Product: | Red Hat Enterprise Linux Advanced Virtualization | Reporter: | Amnon Ilan <ailan> | |
Component: | libvirt | Assignee: | Ján Tomko <jtomko> | |
Status: | CLOSED NOTABUG | QA Contact: | Han Han <hhan> | |
Severity: | high | Docs Contact: | ||
Priority: | high | |||
Version: | --- | CC: | aadam, berrange, chayang, coli, dyuan, fjin, hpopal, jasowang, jsuchane, juzhang, knoel, lijin, lmen, mtessun, qzhang, rbalakri, virt-bugs, virt-maint, xuzhang, yalzhang | |
Target Milestone: | rc | Keywords: | FutureFeature | |
Target Release: | --- | |||
Hardware: | Unspecified | |||
OS: | Unspecified | |||
Whiteboard: | ||||
Fixed In Version: | Doc Type: | Enhancement | ||
Doc Text: | Story Points: | --- | ||
Clone Of: | 1544254 | |||
: | 1563552 1601357 (view as bug list) | Environment: | ||
Last Closed: | 2019-12-12 16:38:07 UTC | Type: | Feature Request | |
Regression: | --- | Mount Type: | --- | |
Documentation: | --- | CRM: | ||
Verified Versions: | Category: | --- | ||
oVirt Team: | --- | RHEL 7.3 requirements from Atomic Host: | ||
Cloudforms Team: | --- | Target Upstream Version: | ||
Embargoed: | ||||
Bug Depends On: | 1544252, 1544253, 1544254, 1544758, 1601349, 1601351, 1601354, 1601355 | |||
Bug Blocks: | 1563552, 1564988 |
Description
Amnon Ilan
2018-02-11 18:06:30 UTC
For libvirt, we probably just need a new property for virtio-net like: -device virtio-net-pci,ring_packed=true Will update here, when the qemu patch was in. Thanks *** Bug 1601357 has been marked as a duplicate of this bug. *** (In reply to jason wang from comment #3) > For libvirt, we probably just need a new property for virtio-net like: > > -device virtio-net-pci,ring_packed=true > > Will update here, when the qemu patch was in. Ideally libvirt would not need to expose this flag at all. IIUC virtio 1.1 should be fully back compatible with virtio 1.0, so QEMU should negotiate with guest whether to use this new ring layout. Thus the main thing to take care with is the migration ABI compat, which can be solved if QEMU sets ring_packed=false for existing machine types, and sets ring_packed=true for new machine types. This way all mgmt apps would automatically get the new improved ring layout without any changes being required up the stack. (In reply to Daniel Berrange from comment #10) > (In reply to jason wang from comment #3) > > For libvirt, we probably just need a new property for virtio-net like: > > > > -device virtio-net-pci,ring_packed=true > > > > Will update here, when the qemu patch was in. > > Ideally libvirt would not need to expose this flag at all. IIUC virtio 1.1 > should be fully back compatible with virtio 1.0, so QEMU should negotiate > with guest whether to use this new ring layout. > > Thus the main thing to take care with is the migration ABI compat, which can > be solved if QEMU sets ring_packed=false for existing machine types, and > sets ring_packed=true for new machine types. > > This way all mgmt apps would automatically get the new improved ring layout > without any changes being required up the stack. Jason, what do you think? (In reply to Daniel Berrange from comment #10) > (In reply to jason wang from comment #3) > > For libvirt, we probably just need a new property for virtio-net like: > > > > -device virtio-net-pci,ring_packed=true > > > > Will update here, when the qemu patch was in. > > Ideally libvirt would not need to expose this flag at all. IIUC virtio 1.1 > should be fully back compatible with virtio 1.0, so QEMU should negotiate > with guest whether to use this new ring layout. > > Thus the main thing to take care with is the migration ABI compat, which can > be solved if QEMU sets ring_packed=false for existing machine types, and > sets ring_packed=true for new machine types. > > This way all mgmt apps would automatically get the new improved ring layout > without any changes being required up the stack. If you worry about the default value, we can change it to be enabled by default (upstream). But for RHEL, maybe we need to start 1.1 as technical preview so disable it by default. It's pretty new and it lacks sufficient testing and benchmarking. Thanks So if there will be no need to turn this feature off and the only reason not to enable it by default is insufficient testing, can the testing be done by libvirt's command passthrough hack? https://libvirt.org/drvqemu.html#qemucommand <domain type='qemu' xmlns:qemu='http://libvirt.org/schemas/domain/qemu/1.0'> ... <qemu:commandline> <qemu:arg value='-set'/> <qemu:arg value='device.net0.ring_packed=true'/> </qemu:commandline> </domain> I really don't like introducing an XML attribute that will be unused in a few months. Per discussion libvirt support is not needed thus closing it for now. Thanks. |