Bug 1126991 - [libvirt] expose ivshmem
Summary: [libvirt] expose ivshmem
Keywords:
Status: CLOSED ERRATA
Alias: None
Product: Red Hat Enterprise Linux 7
Classification: Red Hat
Component: libvirt
Version: 7.0
Hardware: Unspecified
OS: Unspecified
high
unspecified
Target Milestone: rc
: ---
Assignee: Martin Kletzander
QA Contact: Virtualization Bugs
URL:
Whiteboard:
Depends On: 1088332 1104063 1111101 1136727
Blocks: 1082754 1088337 1110708
TreeView+ depends on / blocked
 
Reported: 2014-08-05 19:26 UTC by Stephen Gordon
Modified: 2015-11-16 22:55 UTC (History)
24 users (show)

Fixed In Version: libvirt-1.2.8-5.el7
Doc Type: Enhancement
Doc Text:
Feature: Inter-VM SHared Memory (ivshmem) Reason: adding this feature made it available for users and management tools to specify new shared memory device that implements a PCI BAR with memory shared between VMs and the host for e.g. zero-copy. Result: Adding this feature enabled the VMs to be used for deployments in DPDK project's scenarios.
Clone Of: 1088332
Environment:
Last Closed: 2015-03-05 07:41:55 UTC
Target Upstream Version:


Attachments (Terms of Use)
patch for libvirt 1.2.8-16.el7_1.1 (20.36 KB, patch)
2015-03-16 22:19 UTC, Vincent JARDIN
no flags Details | Diff
patch for libvirt 1.2.8-16.el7_1.1 (2.97 KB, patch)
2015-03-16 22:20 UTC, Vincent JARDIN
no flags Details | Diff
patch for libvirt 1.2.8-16.el7_1.1 (7.23 KB, patch)
2015-03-16 22:21 UTC, Vincent JARDIN
no flags Details | Diff
patch for libvirt 1.2.8-16.el7_1.1 (10.19 KB, patch)
2015-03-16 22:21 UTC, Vincent JARDIN
no flags Details | Diff


Links
System ID Priority Status Summary Last Updated
Red Hat Product Errata RHSA-2015:0323 normal SHIPPED_LIVE Low: libvirt security, bug fix, and enhancement update 2015-03-05 12:10:54 UTC

Comment 1 Stephen Gordon 2014-08-05 19:27:32 UTC
We would like also to expose IVSHMEM from Libvirt to support the MEMNIC use case (at least) 6wind are working on this support upstream:

    https://www.redhat.com/archives/libvir-list/2014-July/msg01394.html

Comment 2 Vincent JARDIN 2014-08-05 20:20:38 UTC
Thanks Steve.

Latest update from Maxime (cannot be cc'd yet of this PR):
  https://www.redhat.com/archives/libvir-list/2014-August/msg00129.html

Comment 4 Martin Kletzander 2014-10-03 20:49:56 UTC
Fixed upstream (without server support) with commits v1.2.9-33-g540a84e -- v1.2.9-35-gb90a9a6:

commit b90a9a637490acd7f35c6dc52d6e55b5a1054f34
Author: Martin Kletzander <mkletzan@redhat.com>
Date:   Thu Sep 25 09:00:47 2014 +0200

    qemu: Build command line for ivshmem device

commit e3d478eb51c1a60a2f52392a81031b477098e2bc
Author: Maxime Leroy <maxime.leroy@6wind.com>
Date:   Fri Aug 22 12:47:02 2014 +0200

    qemu: add capability probing for ivshmem device

commit 540a84ec89c1634d5e17ba7b8d96049c960bb1b4
Author: Martin Kletzander <mkletzan@redhat.com>
Date:   Mon Sep 22 10:49:39 2014 +0200

    docs, conf, schema: add support for shmem device

Comment 8 Vincent JARDIN 2014-11-10 09:21:30 UTC
I cannot read the bug 1111101

Comment 11 Jincheng Miao 2014-11-11 06:44:36 UTC
(In reply to Vincent JARDIN from comment #8)
> I cannot read the bug 1111101

Sorry, that's my mistake. please ignore it, thanks.

Comment 12 Jincheng Miao 2014-12-11 09:48:03 UTC
In libvirt-1.2.8-9.el7.x86_64, ivshmem could be configured without ivshmem-server:

# rpm -q libvirt qemu-kvm-rhev
libvirt-1.2.8-9.el7.x86_64
qemu-kvm-rhev-2.1.2-13.el7.x86_64

1. add shmem device to domain xml and start it
# virsh edit r7a
<domain type='kvm'>
  <name>r7a</name>
...
  <devices>
    <shmem name='shmem0'>
      <size unit='M'>4</size>
    </shmem>
  </devices>
</domains>

# virsh start r7a

2. check qemu-kvm cmdline
There is '-device ivshmem,size=4m,shm=shmem0'

3. ivshmem device could be recognized as PCI device in guest
<guest> # lspci
...
00:08.0 RAM memory: Red Hat, Inc Inter-VM shared memory


So change this status to VERIFIED.

Comment 13 Vincent JARDIN 2014-12-11 22:04:35 UTC
Thank you.

Comment 15 errata-xmlrpc 2015-03-05 07:41:55 UTC
Since the problem described in this bug report should be
resolved in a recent advisory, it has been closed with a
resolution of ERRATA.

For information on the advisory, and where to find the updated
files, follow the link below.

If the solution does not work for you, open a new bug report.

https://rhn.redhat.com/errata/RHSA-2015-0323.html

Comment 16 Vincent JARDIN 2015-03-06 13:05:50 UTC
Please, did you include all the features from this commit:
  http://libvirt.org/git/?p=libvirt.git;a=commit;h=540a84ec89c1634d5e17ba7b8d96049c960bb1b4

?

Comment 17 Martin Kletzander 2015-03-16 16:17:14 UTC
Yes, all three commits mentioned in comment #4 are included in downstream libvirt.

Comment 18 Vincent JARDIN 2015-03-16 22:19:54 UTC
Created attachment 1002526 [details]
patch for libvirt 1.2.8-16.el7_1.1

libvirt.spec applies the enclosed patch.
Record it for proper understanding.

Comment 19 Vincent JARDIN 2015-03-16 22:20:26 UTC
Created attachment 1002527 [details]
patch for libvirt 1.2.8-16.el7_1.1

libvirt.spec applies the enclosed patch.
Record it for proper understanding.

Comment 20 Vincent JARDIN 2015-03-16 22:21:04 UTC
Created attachment 1002528 [details]
patch for libvirt 1.2.8-16.el7_1.1

libvirt.spec applies the enclosed patch.
Record it for proper understanding.

Comment 21 Vincent JARDIN 2015-03-16 22:21:41 UTC
Created attachment 1002529 [details]
patch for libvirt 1.2.8-16.el7_1.1

libvirt.spec applies the enclosed patch.
Record it for proper understanding.

Comment 22 Vincent JARDIN 2015-08-06 05:52:26 UTC
Track some libvirt updates since we are not tracking it yet:
  https://www.redhat.com/archives/libvir-list/2015-July/msg00926.html
     manage the shmem device source

Audit PR:
  https://bugzilla.redhat.com/show_bug.cgi?id=1218603

Audit RFC:
  https://www.redhat.com/archives/libvir-list/2015-July/msg00496.html

Comment 23 Vincent JARDIN 2015-11-16 22:55:15 UTC
Please, add "NK" to the whiteboard, I cannot edit it!


Note You need to log in before you can comment on or make changes to this bug.