[qemu] Reduce CPU usage when audio is playing (bz #1017644) Base on qemu 1.6.1 tarball ksmtuned: Fix matchi

Cole Robinson crobinso at fedoraproject.org
Wed Nov 6 00:42:25 UTC 2013


commit acbc4a5d3aa65e9bed90486afbe056a5ca275911
Author: Cole Robinson <crobinso at redhat.com>
Date:   Tue Nov 5 19:42:39 2013 -0500

    Reduce CPU usage when audio is playing (bz #1017644)
    Base on qemu 1.6.1 tarball
    ksmtuned: Fix matching qemu w/o set_process_name (bz #1012604)
    ksmtuned: Fix committed_memory when no qemu running (bz #1012610)
    Make sure bridge helper is setuid (bz #1017660)

 .gitignore                                         |    1 +
 ...patch => 0001-Fix-migration-from-qemu-kvm.patch |    0
 ...e-bdrv_drain_all-works-during-bdrv_delete.patch |   36 ----
 ...-gdb_register_coprocessor-register-counti.patch |   96 ----------
 ...apic.patch => 0002-isapc-disable-kvmvapic.patch |    0
 ...h => 0003-pci-do-not-export-pci_bus_reset.patch |    0
 ...t-ppc-fix-bit-extraction-for-FPBF-and-FPL.patch |   40 -----
 ...both-pre-and-post-order-vists-in-qdev-wal.patch |    0
 0004-rdma-silly-ipv6-bugfix.patch                  |   37 ----
 ...h => 0005-qdev-switch-reset-to-post-order.patch |    0
 ...i.py-Avoid-syntax-not-supported-by-Python.patch |   32 ----
 ...-Modified-usb-tablet-category-from-Misc-t.patch |   35 ----
 ...atch => 0006-virtio-bus-remove-vdev-field.patch |    0
 ...si_bus_legacy_add_drive-scsi-generic-with.patch |   49 ------
 ...atch => 0007-virtio-pci-remove-vdev-field.patch |    0
 0008-pc-fix-regression-for-64-bit-PCI-memory.patch |  116 -------------
 ...atch => 0008-virtio-ccw-remove-vdev-field.patch |    0
 ...-Fix-stalls-on-hypervisor-virtual-console.patch |   45 -----
 ...-virtio-bus-cleanup-plug-unplug-interface.patch |    0
 ...switch-exit-callback-to-VirtioDeviceClass.patch |    0
 ...queue_get_avail_bytes-fix-desc_pa-when-lo.patch |   41 -----
 ...al-switch-exit-callback-to-VirtioDeviceCl.patch |    0
 0011-xhci-fix-endpoint-interval-calculation.patch  |   27 ---
 ...t-usb-hub-report-status-changes-only-once.patch |   48 -----
 ...switch-exit-callback-to-VirtioDeviceClass.patch |    0
 ...k-expect-errors-from-bdrv_co_is_allocated.patch |  149 ----------------
 ...-switch-exit-callback-to-VirtioDeviceClas.patch |    0
 ...rget-i386-fix-disassembly-with-PAE-1-PG-0.patch |   76 --------
 ...oon-switch-exit-callback-to-VirtioDeviceC.patch |    0
 ...adlib-sort-offsets-in-portio-registration.patch |   35 ----
 ...switch-exit-callback-to-VirtioDeviceClass.patch |    0
 ...iting-to-MMIO-area-with-non-power-of-two-.patch |   37 ----
 ...-virtio-pci-add-device_unplugged-callback.patch |    0
 ...irtio_pci-fix-level-interrupts-with-irqfd.patch |   38 ----
 0018-exec-always-use-MADV_DONTFORK.patch           |   43 -----
 0019-xhci-reset-port-when-disabling-slot.patch     |   26 ---
 0020-usb-parallelize-usb3-streams.patch            |   52 ------
 ...w32-Fix-access-to-host-devices-regression.patch |   86 ---------
 ...ide-separate-handling-of-unassigned-io-po.patch |   78 ---------
 ...ry-Return-1-again-on-reads-from-unsigned-.patch |   34 ----
 ...offset_within_address_space-for-register-.patch |   40 -----
 0025-ne2000-mark-I-O-as-LITTLE_ENDIAN.patch        |   35 ----
 0026-ehci-save-device-pointer-in-EHCIState.patch   |   67 -------
 0027-qxl-fix-local-renderer.patch                  |   67 -------
 0028-pc-Initializing-ram_memory-under-Xen.patch    |  107 ------------
 0029-pc_q35-Initialize-Xen.patch                   |   31 ----
 ...pi-types.py-Fix-enum-struct-sizes-on-i686.patch |   44 -----
 ...et-pci-mark-I-O-and-MMIO-as-LITTLE_ENDIAN.patch |   45 -----
 0032-chardev-fix-pty_chr_timer.patch               |   52 ------
 0033-kvmvapic-Catch-invalid-ROM-size.patch         |   59 -------
 ...ic-Enter-inactive-state-on-hardware-reset.patch |   34 ----
 ...ear-also-physical-ROM-address-when-enteri.patch |   39 ----
 ...mu-alpha-on-32-bit-hosts-wrong-assertions.patch |  125 --------------
 ...dev-do-not-default-cache.no-flush-to-true.patch |   33 ----
 ...do-not-relay-a-previous-driver-s-WCE-conf.patch |  111 ------------
 ...emulate-intr-endpoint-intervals-correctly.patch |  131 --------------
 ...-orig_len-may-be-used-unitialized-warning.patch |   37 ----
 ...-numbered-tap-tun-devices-on-all-BSD-OS-s.patch |   47 -----
 ...rbd-avoid-qemu_rbd_snap_list-memory-leaks.patch |   43 -----
 ...k-fix-cluster-size-check-for-flat-extents.patch |   64 -------
 0044-piix4-disable-io-on-reset.patch               |   33 ----
 ...ne-add-.-configure-disable-coroutine-pool.patch |  163 ------------------
 0046-qemu-Adjust-qemu-wakeup.patch                 |  123 -------------
 ...-Add-qemu-xen-logic-for-Xen-HVM-S3-resume.patch |   53 ------
 ...-Allocate-SCSITargetReq-r-buf-dynamically.patch |  154 -----------------
 0049-Update-VERSION-for-1.6.1-release.patch        |   17 --
 ...ss-discard-type-to-qcow2_discard_clusters.patch |    0
 ...rd-VM-state-in-active-L1-after-creating-s.patch |    0
 ...-9pfs-Fix-errno-value-for-xattr-functions.patch |    0
 ...ch => 0104-Fix-pc-migration-from-qemu-1.5.patch |    9 +-
 ...-QEMU_AUDIO_TIMER_PERIOD-instead-of-wakin.patch |   42 +++++
 ksmtuned                                           |    4 +-
 qemu.spec                                          |  182 +++++---------------
 sources                                            |    2 +-
 74 files changed, 96 insertions(+), 3154 deletions(-)
---
diff --git a/.gitignore b/.gitignore
index 1ac9888..a119815 100644
--- a/.gitignore
+++ b/.gitignore
@@ -23,3 +23,4 @@ qemu-kvm-0.13.0-25fdf4a.tar.gz
 /qemu-1.5.1.tar.bz2
 /qemu-1.5.2.tar.bz2
 /qemu-1.6.0.tar.bz2
+/qemu-1.6.1.tar.bz2
diff --git a/0101-Fix-migration-from-qemu-kvm.patch b/0001-Fix-migration-from-qemu-kvm.patch
similarity index 100%
rename from 0101-Fix-migration-from-qemu-kvm.patch
rename to 0001-Fix-migration-from-qemu-kvm.patch
diff --git a/0102-isapc-disable-kvmvapic.patch b/0002-isapc-disable-kvmvapic.patch
similarity index 100%
rename from 0102-isapc-disable-kvmvapic.patch
rename to 0002-isapc-disable-kvmvapic.patch
diff --git a/0103-pci-do-not-export-pci_bus_reset.patch b/0003-pci-do-not-export-pci_bus_reset.patch
similarity index 100%
rename from 0103-pci-do-not-export-pci_bus_reset.patch
rename to 0003-pci-do-not-export-pci_bus_reset.patch
diff --git a/0104-qdev-allow-both-pre-and-post-order-vists-in-qdev-wal.patch b/0004-qdev-allow-both-pre-and-post-order-vists-in-qdev-wal.patch
similarity index 100%
rename from 0104-qdev-allow-both-pre-and-post-order-vists-in-qdev-wal.patch
rename to 0004-qdev-allow-both-pre-and-post-order-vists-in-qdev-wal.patch
diff --git a/0105-qdev-switch-reset-to-post-order.patch b/0005-qdev-switch-reset-to-post-order.patch
similarity index 100%
rename from 0105-qdev-switch-reset-to-post-order.patch
rename to 0005-qdev-switch-reset-to-post-order.patch
diff --git a/0106-virtio-bus-remove-vdev-field.patch b/0006-virtio-bus-remove-vdev-field.patch
similarity index 100%
rename from 0106-virtio-bus-remove-vdev-field.patch
rename to 0006-virtio-bus-remove-vdev-field.patch
diff --git a/0107-virtio-pci-remove-vdev-field.patch b/0007-virtio-pci-remove-vdev-field.patch
similarity index 100%
rename from 0107-virtio-pci-remove-vdev-field.patch
rename to 0007-virtio-pci-remove-vdev-field.patch
diff --git a/0108-virtio-ccw-remove-vdev-field.patch b/0008-virtio-ccw-remove-vdev-field.patch
similarity index 100%
rename from 0108-virtio-ccw-remove-vdev-field.patch
rename to 0008-virtio-ccw-remove-vdev-field.patch
diff --git a/0109-virtio-bus-cleanup-plug-unplug-interface.patch b/0009-virtio-bus-cleanup-plug-unplug-interface.patch
similarity index 100%
rename from 0109-virtio-bus-cleanup-plug-unplug-interface.patch
rename to 0009-virtio-bus-cleanup-plug-unplug-interface.patch
diff --git a/0110-virtio-blk-switch-exit-callback-to-VirtioDeviceClass.patch b/0010-virtio-blk-switch-exit-callback-to-VirtioDeviceClass.patch
similarity index 100%
rename from 0110-virtio-blk-switch-exit-callback-to-VirtioDeviceClass.patch
rename to 0010-virtio-blk-switch-exit-callback-to-VirtioDeviceClass.patch
diff --git a/0111-virtio-serial-switch-exit-callback-to-VirtioDeviceCl.patch b/0011-virtio-serial-switch-exit-callback-to-VirtioDeviceCl.patch
similarity index 100%
rename from 0111-virtio-serial-switch-exit-callback-to-VirtioDeviceCl.patch
rename to 0011-virtio-serial-switch-exit-callback-to-VirtioDeviceCl.patch
diff --git a/0112-virtio-net-switch-exit-callback-to-VirtioDeviceClass.patch b/0012-virtio-net-switch-exit-callback-to-VirtioDeviceClass.patch
similarity index 100%
rename from 0112-virtio-net-switch-exit-callback-to-VirtioDeviceClass.patch
rename to 0012-virtio-net-switch-exit-callback-to-VirtioDeviceClass.patch
diff --git a/0113-virtio-scsi-switch-exit-callback-to-VirtioDeviceClas.patch b/0013-virtio-scsi-switch-exit-callback-to-VirtioDeviceClas.patch
similarity index 100%
rename from 0113-virtio-scsi-switch-exit-callback-to-VirtioDeviceClas.patch
rename to 0013-virtio-scsi-switch-exit-callback-to-VirtioDeviceClas.patch
diff --git a/0114-virtio-balloon-switch-exit-callback-to-VirtioDeviceC.patch b/0014-virtio-balloon-switch-exit-callback-to-VirtioDeviceC.patch
similarity index 100%
rename from 0114-virtio-balloon-switch-exit-callback-to-VirtioDeviceC.patch
rename to 0014-virtio-balloon-switch-exit-callback-to-VirtioDeviceC.patch
diff --git a/0115-virtio-rng-switch-exit-callback-to-VirtioDeviceClass.patch b/0015-virtio-rng-switch-exit-callback-to-VirtioDeviceClass.patch
similarity index 100%
rename from 0115-virtio-rng-switch-exit-callback-to-VirtioDeviceClass.patch
rename to 0015-virtio-rng-switch-exit-callback-to-VirtioDeviceClass.patch
diff --git a/0116-virtio-pci-add-device_unplugged-callback.patch b/0016-virtio-pci-add-device_unplugged-callback.patch
similarity index 100%
rename from 0116-virtio-pci-add-device_unplugged-callback.patch
rename to 0016-virtio-pci-add-device_unplugged-callback.patch
diff --git a/0201-qcow2-Pass-discard-type-to-qcow2_discard_clusters.patch b/0101-qcow2-Pass-discard-type-to-qcow2_discard_clusters.patch
similarity index 100%
rename from 0201-qcow2-Pass-discard-type-to-qcow2_discard_clusters.patch
rename to 0101-qcow2-Pass-discard-type-to-qcow2_discard_clusters.patch
diff --git a/0202-qcow2-Discard-VM-state-in-active-L1-after-creating-s.patch b/0102-qcow2-Discard-VM-state-in-active-L1-after-creating-s.patch
similarity index 100%
rename from 0202-qcow2-Discard-VM-state-in-active-L1-after-creating-s.patch
rename to 0102-qcow2-Discard-VM-state-in-active-L1-after-creating-s.patch
diff --git a/0203-hw-9pfs-Fix-errno-value-for-xattr-functions.patch b/0103-hw-9pfs-Fix-errno-value-for-xattr-functions.patch
similarity index 100%
rename from 0203-hw-9pfs-Fix-errno-value-for-xattr-functions.patch
rename to 0103-hw-9pfs-Fix-errno-value-for-xattr-functions.patch
diff --git a/0204-Fix-pc-migration-from-qemu-1.5.patch b/0104-Fix-pc-migration-from-qemu-1.5.patch
similarity index 96%
rename from 0204-Fix-pc-migration-from-qemu-1.5.patch
rename to 0104-Fix-pc-migration-from-qemu-1.5.patch
index ee21194..022b66c 100644
--- a/0204-Fix-pc-migration-from-qemu-1.5.patch
+++ b/0104-Fix-pc-migration-from-qemu-1.5.patch
@@ -1,4 +1,4 @@
-From 16f89cbf7737626a0ab24a5b0fd7ce4ab940f5a2 Mon Sep 17 00:00:00 2001
+From 042c76790b1168766332b1aafa4429c265d35ed0 Mon Sep 17 00:00:00 2001
 From: Cole Robinson <crobinso at redhat.com>
 Date: Mon, 7 Oct 2013 16:32:24 -0400
 Subject: [PATCH] Fix pc migration from qemu <= 1.5
@@ -21,6 +21,7 @@ types, but revert to the old style format for 1.7+, and <= 1.5.
 Tested with migration from qemu 1.5, qemu 1.6, and qemu.git.
 
 Cc: qemu-stable at nongnu.org
+Signed-off-by: Cole Robinson <crobinso at redhat.com>
 ---
  hw/i386/pc_piix.c         | 11 +++++++++++
  hw/i386/pc_q35.c          | 11 +++++++++++
@@ -150,7 +151,7 @@ index 4febd24..f762053 100644
  };
  
 diff --git a/include/hw/i386/pc.h b/include/hw/i386/pc.h
-index 475ba9e..a0bbdd9 100644
+index 475ba9e..6e2b839 100644
 --- a/include/hw/i386/pc.h
 +++ b/include/hw/i386/pc.h
 @@ -225,7 +225,19 @@ void pvpanic_init(ISABus *bus);
@@ -163,7 +164,7 @@ index 475ba9e..a0bbdd9 100644
 +            .property = "short_root_bus",\
 +            .value    = stringify(1),\
 +        },{\
-+            .driver   = "mch",\
++            .driver   = "q35-pcihost",\
 +            .property = "short_root_bus",\
 +            .value    = stringify(1),\
 +        }
@@ -182,7 +183,7 @@ index 475ba9e..a0bbdd9 100644
 +            .property = "short_root_bus",\
 +            .value    = stringify(0),\
 +        },{\
-+            .driver   = "mch",\
++            .driver   = "q35-pcihost",\
 +            .property = "short_root_bus",\
 +            .value    = stringify(0),\
          }
diff --git a/0105-audio-honor-QEMU_AUDIO_TIMER_PERIOD-instead-of-wakin.patch b/0105-audio-honor-QEMU_AUDIO_TIMER_PERIOD-instead-of-wakin.patch
new file mode 100644
index 0000000..30cfa3d
--- /dev/null
+++ b/0105-audio-honor-QEMU_AUDIO_TIMER_PERIOD-instead-of-wakin.patch
@@ -0,0 +1,42 @@
+From 6b7ac46a461482c06c5ccdf54815e94205bc7d95 Mon Sep 17 00:00:00 2001
+From: Hans de Goede <hdegoede at redhat.com>
+Date: Wed, 9 Oct 2013 21:33:44 +0200
+Subject: [PATCH] audio: honor QEMU_AUDIO_TIMER_PERIOD instead of waking up
+ every *nano* second
+
+Now that we no longer have MIN_REARM_TIMER_NS a bug in the audio subsys has
+clearly shown it self by trying to make a timer fire every nano second.
+
+Note we have a similar problem in 1.6, 1.5 and older but there
+MIN_REARM_TIMER_NS limits the wakeups caused by audio being active to
+4000 times / second. This still causes a host cpu load of 50 % for simply
+playing audio, where as with this patch git master is at 13%, so we should
+backport this to 1.5 and 1.6 too.
+
+Note this will not apply to 1.5 and 1.6 as is.
+
+Cc: qemu-stable at nongnu.org
+Signed-off-by: Hans de Goede <hdegoede at redhat.com>
+Signed-off-by: Gerd Hoffmann <kraxel at redhat.com>
+(cherry picked from commit b4350deed67b95651896ddb60cf9f765093a4848)
+
+Conflicts:
+	audio/audio.c
+---
+ audio/audio.c | 3 ++-
+ 1 file changed, 2 insertions(+), 1 deletion(-)
+
+diff --git a/audio/audio.c b/audio/audio.c
+index 02bb886..f9b3e95 100644
+--- a/audio/audio.c
++++ b/audio/audio.c
+@@ -1124,7 +1124,8 @@ static int audio_is_timer_needed (void)
+ static void audio_reset_timer (AudioState *s)
+ {
+     if (audio_is_timer_needed ()) {
+-        qemu_mod_timer (s->ts, qemu_get_clock_ns (vm_clock) + 1);
++        qemu_mod_timer (s->ts,
++            qemu_get_clock_ns (vm_clock) + conf.period.ticks);
+     }
+     else {
+         qemu_del_timer (s->ts);
diff --git a/ksmtuned b/ksmtuned
index c96507c..7bc5743 100644
--- a/ksmtuned
+++ b/ksmtuned
@@ -71,10 +71,10 @@ KSMCTL () {
 committed_memory () {
     # calculate how much memory is committed to running qemu processes
     local pidlist
-    pidlist=$(pgrep -d ' ' -- '^qemu(-kvm|:.{1,11})$')
+    pidlist=$(pgrep -d ' ' -- '^qemu(-(kvm|system-.+)|:.{1,11})$')
     if [ -n "$pidlist" ]; then
         ps -p "$pidlist" -o rsz=
-    fi | awk '{ sum += $1 }; END { print sum }'
+    fi | awk '{ sum += $1 }; END { print 0+sum }'
 }
 
 free_memory () {
diff --git a/qemu.spec b/qemu.spec
index 0560b00..18937f1 100644
--- a/qemu.spec
+++ b/qemu.spec
@@ -138,8 +138,8 @@
 
 Summary: QEMU is a FAST! processor emulator
 Name: qemu
-Version: 1.6.0
-Release: 10%{?dist}
+Version: 1.6.1
+Release: 1%{?dist}
 Epoch: 2
 License: GPLv2+ and LGPLv2+ and BSD
 Group: Development/Tools
@@ -180,91 +180,42 @@ Source12: bridge.conf
 # qemu-kvm back compat wrapper
 Source13: qemu-kvm.sh
 
-# Rebase to pending 1.6.1 stable
-Patch0001: 0001-block-ensure-bdrv_drain_all-works-during-bdrv_delete.patch
-Patch0002: 0002-gdbstub-Fix-gdb_register_coprocessor-register-counti.patch
-Patch0003: 0003-target-ppc-fix-bit-extraction-for-FPBF-and-FPL.patch
-Patch0004: 0004-rdma-silly-ipv6-bugfix.patch
-Patch0005: 0005-scripts-qapi.py-Avoid-syntax-not-supported-by-Python.patch
-Patch0006: 0006-usb-dev-hid-Modified-usb-tablet-category-from-Misc-t.patch
-Patch0007: 0007-scsi-Fix-scsi_bus_legacy_add_drive-scsi-generic-with.patch
-Patch0008: 0008-pc-fix-regression-for-64-bit-PCI-memory.patch
-Patch0009: 0009-pseries-Fix-stalls-on-hypervisor-virtual-console.patch
-Patch0010: 0010-virtio-virtqueue_get_avail_bytes-fix-desc_pa-when-lo.patch
-Patch0011: 0011-xhci-fix-endpoint-interval-calculation.patch
-Patch0012: 0012-Revert-usb-hub-report-status-changes-only-once.patch
-Patch0013: 0013-block-expect-errors-from-bdrv_co_is_allocated.patch
-Patch0014: 0014-target-i386-fix-disassembly-with-PAE-1-PG-0.patch
-Patch0015: 0015-adlib-sort-offsets-in-portio-registration.patch
-Patch0016: 0016-exec-fix-writing-to-MMIO-area-with-non-power-of-two-.patch
-Patch0017: 0017-virtio_pci-fix-level-interrupts-with-irqfd.patch
-Patch0018: 0018-exec-always-use-MADV_DONTFORK.patch
-Patch0019: 0019-xhci-reset-port-when-disabling-slot.patch
-Patch0020: 0020-usb-parallelize-usb3-streams.patch
-Patch0021: 0021-w32-Fix-access-to-host-devices-regression.patch
-Patch0022: 0022-memory-Provide-separate-handling-of-unassigned-io-po.patch
-Patch0023: 0023-Revert-memory-Return-1-again-on-reads-from-unsigned-.patch
-Patch0024: 0024-exec-check-offset_within_address_space-for-register-.patch
-Patch0025: 0025-ne2000-mark-I-O-as-LITTLE_ENDIAN.patch
-Patch0026: 0026-ehci-save-device-pointer-in-EHCIState.patch
-Patch0027: 0027-qxl-fix-local-renderer.patch
-Patch0028: 0028-pc-Initializing-ram_memory-under-Xen.patch
-Patch0029: 0029-pc_q35-Initialize-Xen.patch
-Patch0030: 0030-qapi-types.py-Fix-enum-struct-sizes-on-i686.patch
-Patch0031: 0031-pcnet-pci-mark-I-O-and-MMIO-as-LITTLE_ENDIAN.patch
-Patch0032: 0032-chardev-fix-pty_chr_timer.patch
-Patch0033: 0033-kvmvapic-Catch-invalid-ROM-size.patch
-Patch0034: 0034-kvmvapic-Enter-inactive-state-on-hardware-reset.patch
-Patch0035: 0035-kvmvapic-Clear-also-physical-ROM-address-when-enteri.patch
-Patch0036: 0036-tci-Fix-qemu-alpha-on-32-bit-hosts-wrong-assertions.patch
-Patch0037: 0037-blockdev-do-not-default-cache.no-flush-to-true.patch
-Patch0038: 0038-virtio-blk-do-not-relay-a-previous-driver-s-WCE-conf.patch
-Patch0039: 0039-xhci-emulate-intr-endpoint-intervals-correctly.patch
-Patch0040: 0040-iov-avoid-orig_len-may-be-used-unitialized-warning.patch
-Patch0041: 0041-tap-Use-numbered-tap-tun-devices-on-all-BSD-OS-s.patch
-Patch0042: 0042-rbd-avoid-qemu_rbd_snap_list-memory-leaks.patch
-Patch0043: 0043-vmdk-fix-cluster-size-check-for-flat-extents.patch
-Patch0044: 0044-piix4-disable-io-on-reset.patch
-Patch0045: 0045-coroutine-add-.-configure-disable-coroutine-pool.patch
-Patch0046: 0046-qemu-Adjust-qemu-wakeup.patch
-Patch0047: 0047-qemu-Add-qemu-xen-logic-for-Xen-HVM-S3-resume.patch
-Patch0048: 0048-scsi-Allocate-SCSITargetReq-r-buf-dynamically.patch
-Patch0049: 0049-Update-VERSION-for-1.6.1-release.patch
-
 # qemu-kvm migration compat (not for upstream, drop by Fedora 21?)
-Patch0101: 0101-Fix-migration-from-qemu-kvm.patch
+Patch0001: 0001-Fix-migration-from-qemu-kvm.patch
 # Fix crash with -M isapc -cpu Haswell (bz #986790)
-Patch0102: 0102-isapc-disable-kvmvapic.patch
+Patch0002: 0002-isapc-disable-kvmvapic.patch
 # Fix crash in lsi_soft_reset (bz #1000947)
 # Patches posted upstream
-Patch0103: 0103-pci-do-not-export-pci_bus_reset.patch
-Patch0104: 0104-qdev-allow-both-pre-and-post-order-vists-in-qdev-wal.patch
-Patch0105: 0105-qdev-switch-reset-to-post-order.patch
+Patch0003: 0003-pci-do-not-export-pci_bus_reset.patch
+Patch0004: 0004-qdev-allow-both-pre-and-post-order-vists-in-qdev-wal.patch
+Patch0005: 0005-qdev-switch-reset-to-post-order.patch
 # CVE-2013-4377: Fix crash when unplugging virtio devices (bz #1012633,
 # bz #1012641)
 # Patches posted upstream
-Patch0106: 0106-virtio-bus-remove-vdev-field.patch
-Patch0107: 0107-virtio-pci-remove-vdev-field.patch
-Patch0108: 0108-virtio-ccw-remove-vdev-field.patch
-Patch0109: 0109-virtio-bus-cleanup-plug-unplug-interface.patch
-Patch0110: 0110-virtio-blk-switch-exit-callback-to-VirtioDeviceClass.patch
-Patch0111: 0111-virtio-serial-switch-exit-callback-to-VirtioDeviceCl.patch
-Patch0112: 0112-virtio-net-switch-exit-callback-to-VirtioDeviceClass.patch
-Patch0113: 0113-virtio-scsi-switch-exit-callback-to-VirtioDeviceClas.patch
-Patch0114: 0114-virtio-balloon-switch-exit-callback-to-VirtioDeviceC.patch
-Patch0115: 0115-virtio-rng-switch-exit-callback-to-VirtioDeviceClass.patch
-Patch0116: 0116-virtio-pci-add-device_unplugged-callback.patch
+Patch0006: 0006-virtio-bus-remove-vdev-field.patch
+Patch0007: 0007-virtio-pci-remove-vdev-field.patch
+Patch0008: 0008-virtio-ccw-remove-vdev-field.patch
+Patch0009: 0009-virtio-bus-cleanup-plug-unplug-interface.patch
+Patch0010: 0010-virtio-blk-switch-exit-callback-to-VirtioDeviceClass.patch
+Patch0011: 0011-virtio-serial-switch-exit-callback-to-VirtioDeviceCl.patch
+Patch0012: 0012-virtio-net-switch-exit-callback-to-VirtioDeviceClass.patch
+Patch0013: 0013-virtio-scsi-switch-exit-callback-to-VirtioDeviceClas.patch
+Patch0014: 0014-virtio-balloon-switch-exit-callback-to-VirtioDeviceC.patch
+Patch0015: 0015-virtio-rng-switch-exit-callback-to-VirtioDeviceClass.patch
+Patch0016: 0016-virtio-pci-add-device_unplugged-callback.patch
 
 # Fix 'new snapshot' slowness after the first snap (bz #988436)
 # Patches queued for upstream
-Patch0201: 0201-qcow2-Pass-discard-type-to-qcow2_discard_clusters.patch
-Patch0202: 0202-qcow2-Discard-VM-state-in-active-L1-after-creating-s.patch
+Patch0101: 0101-qcow2-Pass-discard-type-to-qcow2_discard_clusters.patch
+Patch0102: 0102-qcow2-Discard-VM-state-in-active-L1-after-creating-s.patch
 # Fix 9pfs xattrs on kernel 3.11 (bz #1013676)
 # Patch posted upstream
-Patch0203: 0203-hw-9pfs-Fix-errno-value-for-xattr-functions.patch
+Patch0103: 0103-hw-9pfs-Fix-errno-value-for-xattr-functions.patch
 # Fix migration from qemu <= 1.5
 # Patch posted upstream
-Patch0204: 0204-Fix-pc-migration-from-qemu-1.5.patch
+Patch0104: 0104-Fix-pc-migration-from-qemu-1.5.patch
+# Reduce CPU usage when audio is playing (bz #1017644)
+Patch0105: 0105-audio-honor-QEMU_AUDIO_TIMER_PERIOD-instead-of-wakin.patch
 
 BuildRequires: SDL-devel
 BuildRequires: zlib-devel
@@ -777,12 +728,18 @@ CAC emulation development files.
 %prep
 %setup -q
 
-# Rebase to pending 1.6.1 stable
+# qemu-kvm migration compat (not for upstream, drop by Fedora 21?)
 %patch0001 -p1
+# Fix crash with -M isapc -cpu Haswell (bz #986790)
 %patch0002 -p1
+# Fix crash in lsi_soft_reset (bz #1000947)
+# Patches posted upstream
 %patch0003 -p1
 %patch0004 -p1
 %patch0005 -p1
+# CVE-2013-4377: Fix crash when unplugging virtio devices (bz #1012633,
+# bz #1012641)
+# Patches posted upstream
 %patch0006 -p1
 %patch0007 -p1
 %patch0008 -p1
@@ -794,74 +751,19 @@ CAC emulation development files.
 %patch0014 -p1
 %patch0015 -p1
 %patch0016 -p1
-%patch0017 -p1
-%patch0018 -p1
-%patch0019 -p1
-%patch0020 -p1
-%patch0021 -p1
-%patch0022 -p1
-%patch0023 -p1
-%patch0024 -p1
-%patch0025 -p1
-%patch0026 -p1
-%patch0027 -p1
-%patch0028 -p1
-%patch0029 -p1
-%patch0030 -p1
-%patch0031 -p1
-%patch0032 -p1
-%patch0033 -p1
-%patch0034 -p1
-%patch0035 -p1
-%patch0036 -p1
-%patch0037 -p1
-%patch0038 -p1
-%patch0039 -p1
-%patch0040 -p1
-%patch0041 -p1
-%patch0042 -p1
-%patch0043 -p1
-%patch0044 -p1
-%patch0045 -p1
-%patch0046 -p1
-%patch0047 -p1
-%patch0048 -p1
-%patch0049 -p1
-
-# qemu-kvm migration compat (not for upstream, drop by Fedora 21?)
-%patch0101 -p1
-# Fix crash with -M isapc -cpu Haswell (bz #986790)
-%patch0102 -p1
-# Fix crash in lsi_soft_reset (bz #1000947)
-# Patches posted upstream
-%patch0103 -p1
-%patch0104 -p1
-%patch0105 -p1
-# CVE-2013-4377: Fix crash when unplugging virtio devices (bz #1012633,
-# bz #1012641)
-# Patches posted upstream
-%patch0106 -p1
-%patch0107 -p1
-%patch0108 -p1
-%patch0109 -p1
-%patch0110 -p1
-%patch0111 -p1
-%patch0112 -p1
-%patch0113 -p1
-%patch0114 -p1
-%patch0115 -p1
-%patch0116 -p1
 
 # Fix 'new snapshot' slowness after the first snap (bz #988436)
 # Patches queued for upstream
-%patch0201 -p1
-%patch0202 -p1
+%patch0101 -p1
+%patch0102 -p1
 # Fix 9pfs xattrs on kernel 3.11 (bz #1013676)
 # Patch posted upstream
-%patch0203 -p1
+%patch0103 -p1
 # Fix migration from qemu <= 1.5
 # Patch posted upstream
-%patch0204 -p1
+%patch0104 -p1
+# Reduce CPU usage when audio is playing (bz #1017644)
+%patch0105 -p1
 
 
 %build
@@ -1127,7 +1029,6 @@ install -m 0644 %{SOURCE11} $RPM_BUILD_ROOT%{_udevdir}
 
 # Install rules to use the bridge helper with libvirt's virbr0
 install -m 0644 %{SOURCE12} $RPM_BUILD_ROOT%{_sysconfdir}/qemu
-chmod u+s $RPM_BUILD_ROOT%{_libexecdir}/qemu-bridge-helper
 
 find $RPM_BUILD_ROOT -name '*.la' -or -name '*.a' | xargs rm -f
 find $RPM_BUILD_ROOT -name "libcacard.so*" -exec chmod +x \{\} \;
@@ -1243,7 +1144,7 @@ getent passwd qemu >/dev/null || \
 %{_mandir}/man1/qemu.1*
 %{_mandir}/man1/virtfs-proxy-helper.1*
 %{_bindir}/virtfs-proxy-helper
-%{_libexecdir}/qemu-bridge-helper
+%attr(4755, root, root) %{_libexecdir}/qemu-bridge-helper
 %config(noreplace) %{_sysconfdir}/sasl2/qemu.conf
 %dir %{_sysconfdir}/qemu
 %config(noreplace) %{_sysconfdir}/qemu/bridge.conf
@@ -1570,6 +1471,13 @@ getent passwd qemu >/dev/null || \
 %endif
 
 %changelog
+* Tue Nov 05 2013 Cole Robinson <crobinso at redhat.com> - 2:1.6.1-1
+- Reduce CPU usage when audio is playing (bz #1017644)
+- Base on qemu 1.6.1 tarball
+- ksmtuned: Fix matching qemu w/o set_process_name (bz #1012604)
+- ksmtuned: Fix committed_memory when no qemu running (bz #1012610)
+- Make sure bridge helper is setuid (bz #1017660)
+
 * Wed Oct 09 2013 Cole Robinson <crobinso at redhat.com> - 2:1.6.0-10
 - Fix migration from qemu <= 1.5
 
diff --git a/sources b/sources
index 4936b74..06f99b4 100644
--- a/sources
+++ b/sources
@@ -1 +1 @@
-f3f39308472d629aca57a255a0c91ba9  qemu-1.6.0.tar.bz2
+3a897d722457c5a895cd6ac79a28fda0  qemu-1.6.1.tar.bz2


More information about the scm-commits mailing list