Home Home > GIT Browse > openSUSE-15.0
summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorTakashi Iwai <tiwai@suse.de>2019-07-15 20:03:56 +0200
committerTakashi Iwai <tiwai@suse.de>2019-07-15 20:03:56 +0200
commit708cf06fa3f59e43da6edfa199a928932ac2a56a (patch)
treea36301f07c87af6929589297545d1651ceb8cf2c
parent304447b4ff385547a3295322c5683104453b1fe8 (diff)
parentf5c46acfb5de0293786c9fe264ea2de40032414d (diff)
Merge branch 'users/lyan/SLE15/for-next' into SLE15
Pull s390 kvm fixes from Liang Yan
-rw-r--r--config/s390x/default1
-rw-r--r--config/s390x/zfcpdump1
-rw-r--r--patches.fixes/KVM-polling-add-architecture-backend-to-disable-poll.patch60
-rw-r--r--patches.fixes/KVM-s390-change-default-halt-poll-time-to-50us.patch31
-rw-r--r--patches.fixes/KVM-s390-fix-typo-in-parameter-description.patch31
-rw-r--r--patches.fixes/KVM-s390-provide-kvm_arch_no_poll-function.patch82
-rw-r--r--patches.fixes/s390-vtime-steal-time-exponential-moving-average.patch105
-rw-r--r--patches.kabi/kabi-fix-KVM-s390-provide-kvm_arch_no_poll-function.patch27
-rw-r--r--patches.kabi/kabi-fix-s390-vtime-steal-time-exponential-moving-average.patch31
-rw-r--r--series.conf7
10 files changed, 376 insertions, 0 deletions
diff --git a/config/s390x/default b/config/s390x/default
index ff19b71881..9d55a6f6f0 100644
--- a/config/s390x/default
+++ b/config/s390x/default
@@ -3104,6 +3104,7 @@ CONFIG_KVM_ASYNC_PF_SYNC=y
CONFIG_HAVE_KVM_CPU_RELAX_INTERCEPT=y
CONFIG_KVM_VFIO=y
CONFIG_HAVE_KVM_INVALID_WAKEUPS=y
+CONFIG_HAVE_KVM_NO_POLL=y
CONFIG_VIRTUALIZATION=y
CONFIG_KVM=m
# CONFIG_KVM_S390_UCONTROL is not set
diff --git a/config/s390x/zfcpdump b/config/s390x/zfcpdump
index 916df9b225..80cb15b283 100644
--- a/config/s390x/zfcpdump
+++ b/config/s390x/zfcpdump
@@ -1233,6 +1233,7 @@ CONFIG_KVM_ASYNC_PF_SYNC=y
CONFIG_HAVE_KVM_CPU_RELAX_INTERCEPT=y
CONFIG_KVM_VFIO=y
CONFIG_HAVE_KVM_INVALID_WAKEUPS=y
+CONFIG_HAVE_KVM_NO_POLL=y
CONFIG_VIRTUALIZATION=y
CONFIG_KVM=y
# CONFIG_KVM_S390_UCONTROL is not set
diff --git a/patches.fixes/KVM-polling-add-architecture-backend-to-disable-poll.patch b/patches.fixes/KVM-polling-add-architecture-backend-to-disable-poll.patch
new file mode 100644
index 0000000000..fde6a6e77b
--- /dev/null
+++ b/patches.fixes/KVM-polling-add-architecture-backend-to-disable-poll.patch
@@ -0,0 +1,60 @@
+From: Christian Borntraeger <borntraeger@de.ibm.com>
+Date: Tue, 5 Mar 2019 05:30:01 -0500
+Subject: KVM: polling: add architecture backend to disable polling
+Patch-mainline: v5.2-rc1
+Git-commit: cdd6ad3ac63d2fa320baefcf92a02a918375c30f
+References: bsc#1119222
+
+There are cases where halt polling is unwanted. For example when running
+KVM on an over committed LPAR we rather want to give back the CPU to
+neighbour LPARs instead of polling. Let us provide a callback that
+allows architectures to disable polling.
+
+Signed-off-by: Christian Borntraeger <borntraeger@de.ibm.com>
+Acked-by: Paolo Bonzini <pbonzini@redhat.com>
+Reviewed-by: Cornelia Huck <cohuck@redhat.com>
+Signed-off-by: Christian Borntraeger <borntraeger@de.ibm.com>
+Acked-by: Liang Yan <lyan@suse.com>
+---
+ include/linux/kvm_host.h | 10 ++++++++++
+ virt/kvm/Kconfig | 3 +++
+ virt/kvm/kvm_main.c | 2 +-
+ 3 files changed, 14 insertions(+), 1 deletion(-)
+
+--- a/include/linux/kvm_host.h
++++ b/include/linux/kvm_host.h
+@@ -1265,4 +1265,14 @@ static inline bool vcpu_valid_wakeup(str
+ }
+ #endif /* CONFIG_HAVE_KVM_INVALID_WAKEUPS */
+
++#ifdef CONFIG_HAVE_KVM_NO_POLL
++/* Callback that tells if we must not poll */
++bool kvm_arch_no_poll(struct kvm_vcpu *vcpu);
++#else
++static inline bool kvm_arch_no_poll(struct kvm_vcpu *vcpu)
++{
++ return false;
++}
++#endif /* CONFIG_HAVE_KVM_NO_POLL */
++
+ #endif
+--- a/virt/kvm/Kconfig
++++ b/virt/kvm/Kconfig
+@@ -50,3 +50,6 @@ config KVM_COMPAT
+
+ config HAVE_KVM_IRQ_BYPASS
+ bool
++
++config HAVE_KVM_NO_POLL
++ bool
+--- a/virt/kvm/kvm_main.c
++++ b/virt/kvm/kvm_main.c
+@@ -2205,7 +2205,7 @@ void kvm_vcpu_block(struct kvm_vcpu *vcp
+ u64 block_ns;
+
+ start = cur = ktime_get();
+- if (vcpu->halt_poll_ns) {
++ if (vcpu->halt_poll_ns && !kvm_arch_no_poll(vcpu)) {
+ ktime_t stop = ktime_add_ns(ktime_get(), vcpu->halt_poll_ns);
+
+ ++vcpu->stat.halt_attempted_poll;
diff --git a/patches.fixes/KVM-s390-change-default-halt-poll-time-to-50us.patch b/patches.fixes/KVM-s390-change-default-halt-poll-time-to-50us.patch
new file mode 100644
index 0000000000..9a29093a72
--- /dev/null
+++ b/patches.fixes/KVM-s390-change-default-halt-poll-time-to-50us.patch
@@ -0,0 +1,31 @@
+From: Christian Borntraeger <borntraeger@de.ibm.com>
+Date: Wed, 15 May 2019 09:59:08 +0200
+Subject: KVM: s390: change default halt poll time to 50us
+Patch-mainline: v5.2-rc2
+Git-commit: 6e9b622d1c3628fae65217465a148b157a361c2a
+References: bsc#1119222
+
+Recent measurements indicate that using 50us results in a reduced CPU
+consumption, while still providing the benefit of halt polling. Let's
+use 50us instead.
+
+Acked-by: David Hildenbrand <david@redhat.com>
+Acked-by: Janosch Frank <frankja@linux.ibm.com>
+Acked-by: Cornelia Huck <cohuck@redhat.com>
+Signed-off-by: Christian Borntraeger <borntraeger@de.ibm.com>
+Acked-by: Liang Yan <lyan@suse.com>
+---
+ arch/s390/include/asm/kvm_host.h | 2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+--- a/arch/s390/include/asm/kvm_host.h
++++ b/arch/s390/include/asm/kvm_host.h
+@@ -39,7 +39,7 @@
+ */
+ #define KVM_NR_IRQCHIPS 1
+ #define KVM_IRQCHIP_NUM_PINS 4096
+-#define KVM_HALT_POLL_NS_DEFAULT 80000
++#define KVM_HALT_POLL_NS_DEFAULT 50000
+
+ /* s390-specific vcpu->requests bit members */
+ #define KVM_REQ_ENABLE_IBS KVM_ARCH_REQ(0)
diff --git a/patches.fixes/KVM-s390-fix-typo-in-parameter-description.patch b/patches.fixes/KVM-s390-fix-typo-in-parameter-description.patch
new file mode 100644
index 0000000000..15830f1fec
--- /dev/null
+++ b/patches.fixes/KVM-s390-fix-typo-in-parameter-description.patch
@@ -0,0 +1,31 @@
+From: Wei Yongjun <weiyongjun1@huawei.com>
+Date: Sat, 4 May 2019 06:51:45 +0000
+Subject: KVM: s390: fix typo in parameter description
+Patch-mainline: v5.2-rc2
+Git-commit: b41fb528dd8784a87414e3af5579674badefa76b
+References: bsc#1119222
+
+Fix typo in parameter description.
+
+Fixes: 8b905d28ee17 ("KVM: s390: provide kvm_arch_no_poll function")
+Signed-off-by: Wei Yongjun <weiyongjun1@huawei.com>
+Message-Id: <20190504065145.53665-1-weiyongjun1@huawei.com>
+Reviewed-by: Cornelia Huck <cohuck@redhat.com>
+Reviewed-by: David Hildenbrand <david@redhat.com>
+Signed-off-by: Christian Borntraeger <borntraeger@de.ibm.com>
+Acked-by: Liang Yan <lyan@suse.com>
+---
+ arch/s390/kvm/kvm-s390.c | 2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+--- a/arch/s390/kvm/kvm-s390.c
++++ b/arch/s390/kvm/kvm-s390.c
+@@ -163,7 +163,7 @@ MODULE_PARM_DESC(nested, "Nested virtual
+ /* maximum percentage of steal time for polling. >100 is treated like 100 */
+ static u8 halt_poll_max_steal = 10;
+ module_param(halt_poll_max_steal, byte, 0644);
+-MODULE_PARM_DESC(hpage, "Maximum percentage of steal time to allow polling");
++MODULE_PARM_DESC(halt_poll_max_steal, "Maximum percentage of steal time to allow polling");
+
+ /*
+ * Base feature mask that defines default mask for facilities. Consists of the
diff --git a/patches.fixes/KVM-s390-provide-kvm_arch_no_poll-function.patch b/patches.fixes/KVM-s390-provide-kvm_arch_no_poll-function.patch
new file mode 100644
index 0000000000..cd955d9026
--- /dev/null
+++ b/patches.fixes/KVM-s390-provide-kvm_arch_no_poll-function.patch
@@ -0,0 +1,82 @@
+From: Christian Borntraeger <borntraeger@de.ibm.com>
+Date: Tue, 5 Mar 2019 05:30:02 -0500
+Subject: KVM: s390: provide kvm_arch_no_poll function
+Patch-mainline: v5.2-rc1
+Git-commit: 8b905d28ee17795c939813b2f6947829774619b9
+References: bsc#1119222
+
+We do track the current steal time of the host CPUs. Let us use
+this value to disable halt polling if the steal time goes beyond
+a configured value.
+
+Signed-off-by: Christian Borntraeger <borntraeger@de.ibm.com>
+Acked-by: Paolo Bonzini <pbonzini@redhat.com>
+Reviewed-by: Cornelia Huck <cohuck@redhat.com>
+Signed-off-by: Christian Borntraeger <borntraeger@de.ibm.com>
+Acked-by: Liang Yan <lyan@suse.com>
+---
+ arch/s390/include/asm/kvm_host.h | 1 +
+ arch/s390/kvm/Kconfig | 1 +
+ arch/s390/kvm/kvm-s390.c | 17 +++++++++++++++++
+ 3 files changed, 19 insertions(+)
+
+--- a/arch/s390/include/asm/kvm_host.h
++++ b/arch/s390/include/asm/kvm_host.h
+@@ -303,6 +303,7 @@ struct kvm_vcpu_stat {
+ u64 halt_successful_poll;
+ u64 halt_attempted_poll;
+ u64 halt_poll_invalid;
++ u64 halt_no_poll_steal;
+ u64 halt_wakeup;
+ u64 instruction_lctl;
+ u64 instruction_lctlg;
+--- a/arch/s390/kvm/Kconfig
++++ b/arch/s390/kvm/Kconfig
+@@ -29,6 +29,7 @@ config KVM
+ select HAVE_KVM_IRQFD
+ select HAVE_KVM_IRQ_ROUTING
+ select HAVE_KVM_INVALID_WAKEUPS
++ select HAVE_KVM_NO_POLL
+ select SRCU
+ select KVM_VFIO
+ ---help---
+--- a/arch/s390/kvm/kvm-s390.c
++++ b/arch/s390/kvm/kvm-s390.c
+@@ -73,6 +73,7 @@ struct kvm_stats_debugfs_item debugfs_en
+ { "halt_successful_poll", VCPU_STAT(halt_successful_poll) },
+ { "halt_attempted_poll", VCPU_STAT(halt_attempted_poll) },
+ { "halt_poll_invalid", VCPU_STAT(halt_poll_invalid) },
++ { "halt_no_poll_steal", VCPU_STAT(halt_no_poll_steal) },
+ { "halt_wakeup", VCPU_STAT(halt_wakeup) },
+ { "instruction_lctlg", VCPU_STAT(instruction_lctlg) },
+ { "instruction_lctl", VCPU_STAT(instruction_lctl) },
+@@ -159,6 +160,11 @@ MODULE_PARM_DESC(nested, "Nested virtual
+ */
+ #define SIZE_INTERNAL 16
+
++/* maximum percentage of steal time for polling. >100 is treated like 100 */
++static u8 halt_poll_max_steal = 10;
++module_param(halt_poll_max_steal, byte, 0644);
++MODULE_PARM_DESC(hpage, "Maximum percentage of steal time to allow polling");
++
+ /*
+ * Base feature mask that defines default mask for facilities. Consists of the
+ * defines in FACILITIES_KVM and the non-hypervisor managed bits.
+@@ -2659,6 +2665,17 @@ static void kvm_gmap_notifier(struct gma
+ }
+ }
+
++bool kvm_arch_no_poll(struct kvm_vcpu *vcpu)
++{
++ /* do not poll with more than halt_poll_max_steal percent of steal time */
++ if (S390_lowcore.avg_steal_timer * 100 / (TICK_USEC << 12) >=
++ halt_poll_max_steal) {
++ vcpu->stat.halt_no_poll_steal++;
++ return true;
++ }
++ return false;
++}
++
+ int kvm_arch_vcpu_should_kick(struct kvm_vcpu *vcpu)
+ {
+ /* kvm common code refers to this, but never calls it */
diff --git a/patches.fixes/s390-vtime-steal-time-exponential-moving-average.patch b/patches.fixes/s390-vtime-steal-time-exponential-moving-average.patch
new file mode 100644
index 0000000000..6074e284ca
--- /dev/null
+++ b/patches.fixes/s390-vtime-steal-time-exponential-moving-average.patch
@@ -0,0 +1,105 @@
+From d6bf059d348d5cb3d6908e839562ce46a9d3f252 Mon Sep 17 00:00:00 2001
+From: Martin Schwidefsky <schwidefsky@de.ibm.com>
+Date: Wed, 6 Mar 2019 13:31:21 +0200
+Subject: [PATCH] s390/vtime: steal time exponential moving average
+Patch-mainline: v5.1-rc3
+Git-commit: 152e9b8676c6e788c6bff095c1eaae7b86df5003
+References: bsc#1119222
+
+To be able to judge the current overcommitment ratio for a CPU add
+a lowcore field with the exponential moving average of the steal time.
+The average is updated every tick.
+
+Signed-off-by: Martin Schwidefsky <schwidefsky@de.ibm.com>
+Acked-by: Liang Yan <lyan@suse.com>
+---
+ arch/s390/include/asm/lowcore.h | 4 ++--
+ arch/s390/kernel/smp.c | 3 ++-
+ arch/s390/kernel/vtime.c | 19 ++++++++++++-------
+ 3 files changed, 16 insertions(+), 10 deletions(-)
+
+diff --git a/arch/s390/include/asm/lowcore.h b/arch/s390/include/asm/lowcore.h
+index 4b028396e539..39ed06d0eff0 100644
+--- a/arch/s390/include/asm/lowcore.h
++++ b/arch/s390/include/asm/lowcore.h
+@@ -98,7 +98,7 @@ struct lowcore {
+
+ /* Current process. */
+ __u64 current_task; /* 0x0328 */
+- __u8 pad_0x318[0x320-0x318]; /* 0x0330 */
++ __u64 avg_steal_timer; /* 0x0330 */
+ __u64 kernel_stack; /* 0x0338 */
+
+ /* Interrupt, panic and restart stack. */
+@@ -139,7 +139,7 @@ struct lowcore {
+ /* Per cpu primary space access list */
+ __u32 paste[16]; /* 0x0400 */
+
+- __u8 pad_0x04c0[0x0500-0x0440]; /* 0x0440 */
++ __u8 pad_0x04c0[0x0500-0x0440]; /* 0x0440 */
+
+ /* br %r1 trampoline */
+ __u16 br_r1_trampoline; /* 0x0500 */
+diff --git a/arch/s390/kernel/smp.c b/arch/s390/kernel/smp.c
+index 07383496f1d3..0400a8dfc63d 100644
+--- a/arch/s390/kernel/smp.c
++++ b/arch/s390/kernel/smp.c
+@@ -274,7 +274,8 @@ static void pcpu_prepare_secondary(struct pcpu *pcpu, int cpu)
+ lc->percpu_offset = __per_cpu_offset[cpu];
+ lc->kernel_asce = S390_lowcore.kernel_asce;
+ lc->machine_flags = S390_lowcore.machine_flags;
+- lc->user_timer = lc->system_timer = lc->steal_timer = 0;
++ lc->user_timer = lc->system_timer =
++ lc->steal_timer = lc->avg_steal_timer = 0;
+ __ctl_store(lc->cregs_save_area, 0, 15);
+ save_access_regs((unsigned int *) lc->access_regs_save_area);
+ memcpy(lc->stfle_fac_list, S390_lowcore.stfle_fac_list,
+diff --git a/arch/s390/kernel/vtime.c b/arch/s390/kernel/vtime.c
+index 072d84ba42a3..a6f23238c3b0 100644
+--- a/arch/s390/kernel/vtime.c
++++ b/arch/s390/kernel/vtime.c
+@@ -124,7 +124,7 @@ static void account_system_index_scaled(struct task_struct *p,
+ */
+ static int do_account_vtime(struct task_struct *tsk)
+ {
+- u64 timer, clock, user, guest, system, hardirq, softirq, steal;
++ u64 timer, clock, user, guest, system, hardirq, softirq;
+
+ timer = S390_lowcore.last_update_timer;
+ clock = S390_lowcore.last_update_clock;
+@@ -185,12 +185,6 @@ static int do_account_vtime(struct task_struct *tsk)
+ account_system_index_scaled(tsk, softirq, scale_vtime(softirq),
+ CPUTIME_SOFTIRQ);
+
+- steal = S390_lowcore.steal_timer;
+- if ((s64) steal > 0) {
+- S390_lowcore.steal_timer = 0;
+- account_steal_time(cputime_to_nsecs(steal));
+- }
+-
+ return virt_timer_forward(user + guest + system + hardirq + softirq);
+ }
+
+@@ -216,8 +210,19 @@ void vtime_task_switch(struct task_struct *prev)
+ */
+ void vtime_flush(struct task_struct *tsk)
+ {
++ u64 steal, avg_steal;
++
+ if (do_account_vtime(tsk))
+ virt_timer_expire();
++
++ steal = S390_lowcore.steal_timer;
++ avg_steal = S390_lowcore.avg_steal_timer / 2;
++ if ((s64) steal > 0) {
++ S390_lowcore.steal_timer = 0;
++ account_steal_time(steal);
++ avg_steal += steal;
++ }
++ S390_lowcore.avg_steal_timer = avg_steal;
+ }
+
+ /*
+--
+2.22.0
+
diff --git a/patches.kabi/kabi-fix-KVM-s390-provide-kvm_arch_no_poll-function.patch b/patches.kabi/kabi-fix-KVM-s390-provide-kvm_arch_no_poll-function.patch
new file mode 100644
index 0000000000..3f266c1cd4
--- /dev/null
+++ b/patches.kabi/kabi-fix-KVM-s390-provide-kvm_arch_no_poll-function.patch
@@ -0,0 +1,27 @@
+From: Liang Yan <lyan@suse.com>
+Date: Thu, 30 May 2019 16:35:17 -0400
+Subject: KVM: s390: kABI Workaround for 'kvm_vcpu_stat'
+Patch-mainline: Never, kABI workaround
+References: bsc#1119222
+
+Add halt_no_poll_steal to kvm_vcpu_stat. Hide it from the kABI checker.
+Related patch:
+patches.fixes/KVM-s390-provide-kvm_arch_no_poll-function.patch
+
+Signed-off-by: Liang Yan <lyan@suse.com>
+---
+ arch/s390/include/asm/kvm_host.h | 2 ++
+ 1 file changed, 2 insertions(+)
+
+--- a/arch/s390/include/asm/kvm_host.h
++++ b/arch/s390/include/asm/kvm_host.h
+@@ -303,7 +303,9 @@ struct kvm_vcpu_stat {
+ u64 halt_successful_poll;
+ u64 halt_attempted_poll;
+ u64 halt_poll_invalid;
++#ifndef __GENKSYMS__
+ u64 halt_no_poll_steal;
++#endif
+ u64 halt_wakeup;
+ u64 instruction_lctl;
+ u64 instruction_lctlg;
diff --git a/patches.kabi/kabi-fix-s390-vtime-steal-time-exponential-moving-average.patch b/patches.kabi/kabi-fix-s390-vtime-steal-time-exponential-moving-average.patch
new file mode 100644
index 0000000000..f6186efded
--- /dev/null
+++ b/patches.kabi/kabi-fix-s390-vtime-steal-time-exponential-moving-average.patch
@@ -0,0 +1,31 @@
+From: Liang Yan <lyan@suse.com>
+Date: Thu, 30 May 2019 17:20:06 -0400
+Subject: KVM: s390: kABI Workaround for 'lowcore'
+Patch-mainline: Never, kABI workaround
+References: bsc#1119222
+
+Add avg_steal_timer and remove pad_ox318 in lowcore.
+Hide that from the kABI checker.
+Related patch:
+s390-vtime-steal-time-exponential-moving-average.patch
+
+Signed-off-by: Liang Yan <lyan@suse.com>
+
+---
+ arch/s390/include/asm/lowcore.h | 4 ++++
+ 1 file changed, 4 insertions(+)
+
+--- a/arch/s390/include/asm/lowcore.h
++++ b/arch/s390/include/asm/lowcore.h
+@@ -98,7 +98,11 @@ struct lowcore {
+
+ /* Current process. */
+ __u64 current_task; /* 0x0328 */
++#ifndef __GENKSYMS__
+ __u64 avg_steal_timer; /* 0x0330 */
++#else
++ __u8 pad_0x318[0x320-0x318]; /* 0x0330 */
++#endif
+ __u64 kernel_stack; /* 0x0338 */
+
+ /* Interrupt, panic and restart stack. */
diff --git a/series.conf b/series.conf
index 5a42d37529..44697a77e5 100644
--- a/series.conf
+++ b/series.conf
@@ -21946,6 +21946,7 @@
patches.fixes/rhashtable-Still-do-rehash-when-we-get-EEXIST.patch
patches.fixes/bpf-do-not-restore-dst_reg-when-cur_state-is-freed.patch
patches.arch/ARM-imx6q-cpuidle-fix-bug-that-CPU-might-not-wake-up.patch
+ patches.fixes/s390-vtime-steal-time-exponential-moving-average.patch
patches.fixes/vfio-ccw-only-free-cp-on-final-interrupt
patches.drm/0001-drm-rockchip-vop-reset-scale-mode-when-win-is-disabl.patch
patches.drm/drm-meson-Fix-invalid-pointer-in-meson_drv_unbind.patch
@@ -22587,6 +22588,8 @@
patches.fixes/ceph-flush-dirty-inodes-before-proceeding-with-remount.patch
patches.fixes/nvme-multipath-avoid-crash-on-invalid-subsystem-cntl.patch
patches.arch/kvm-x86-skip-efer-vs-guest-cpuid-checks-for-host-initiated-writes
+ patches.fixes/KVM-polling-add-architecture-backend-to-disable-poll.patch
+ patches.fixes/KVM-s390-provide-kvm_arch_no_poll-function.patch
patches.arch/KVM-PPC-Book3S-HV-Avoid-lockdep-debugging-in-TCE-rea.patch
patches.drivers/ALSA-hda-realtek-Fixup-headphone-noise-via-runtime-s.patch
patches.drivers/ALSA-hda-realtek-Avoid-superfluous-COEF-EAPD-setups.patch
@@ -22631,6 +22634,8 @@
patches.fixes/nvme-copy-mtfa-field-from-identify-controller.patch
patches.fixes/ext4-wait-for-outstanding-dio-during-truncate-in-noj.patch
patches.fixes/ext4-do-not-delete-unlinked-inode-from-orphan-list-o.patch
+ patches.fixes/KVM-s390-fix-typo-in-parameter-description.patch
+ patches.fixes/KVM-s390-change-default-halt-poll-time-to-50us.patch
patches.arch/kvm-x86-include-multiple-indices-with-cpuid-leaf-0x8000001d.patch
patches.arch/kvm-x86-include-cpuid-leaf-0x8000001e-in-kvm-s-supported-cpuid.patch
patches.arch/kvm-svm-avic-fix-off-by-one-in-checking-host-apic-id
@@ -22938,6 +22943,8 @@
patches.suse/block-Fix-a-NULL-pointer-dereference-in-generic_make.patch
patches.kabi/kabi-kvm-mmu-Fix-overflow-on-kvm-mmu-page-limit-calculati.patch
patches.suse/dasd_fba-Display-00000000-for-zero-page-when-dumping.patch
+ patches.kabi/kabi-fix-KVM-s390-provide-kvm_arch_no_poll-function.patch
+ patches.kabi/kabi-fix-s390-vtime-steal-time-exponential-moving-average.patch
########################################################
# end of sorted patches