diff --git a/s390-tools-sles12-create-filesystem-links.patch b/s390-tools-sles12-create-filesystem-links.patch index c3a4620..d043c3b 100644 --- a/s390-tools-sles12-create-filesystem-links.patch +++ b/s390-tools-sles12-create-filesystem-links.patch @@ -23,4 +23,4 @@ + LABEL="dasd_symlinks_end" - # on device add set request queue scheduler to deadline + # on device add set request queue scheduler to none diff --git a/s390-tools-sles15sp3-dasd-change-DASD-udev-rule-to-set-none-scheduler.patch b/s390-tools-sles15sp3-dasd-change-DASD-udev-rule-to-set-none-scheduler.patch new file mode 100644 index 0000000..41475c8 --- /dev/null +++ b/s390-tools-sles15sp3-dasd-change-DASD-udev-rule-to-set-none-scheduler.patch @@ -0,0 +1,52 @@ +Subject: [PATCH] [BZ 192049] udev/dasd: change DASD udev-rule to set none scheduler +From: Stefan Haberland + +Description: dasd: change default scheduler to reduce CPU consumption +Symptom: CPU consumption up to 20% higher for mq-deadline + compared to none scheduler for DASD devices with no + difference in throughput. +Problem: Performance analysis showed that with recent DASD + device drivers using multi-queue block queuing the + throughput of mq-deadline and none scheduler is nearly + identical but the CPU consumption of mq-deadline + scheduler due to its optimizations is up to 20% higher + compared to none scheduler. +Solution: Set none scheduler as default in the DASD udev rule. +Reproduction: Use DASD devices with mq-deadline scheduler. +Upstream-ID: a65bc51cf4e5c1fe628bb182cc1a02ee83eb102d +Problem-ID: 192049 + +Upstream-Description: + + udev/dasd: change DASD udev-rule to set none scheduler + + Performance evaluation showed that using the mq-deadline scheduler for DASD + devices leads to a significantly higher CPU consumption compared to using + none scheduler while having the same amount of throughput. + Setting none scheduler as default in the dasd udev rule. + + Signed-off-by: Stefan Haberland + Reviewed-by: Jan Hoeppner + Signed-off-by: Jan Hoeppner + + +Signed-off-by: Stefan Haberland +--- + etc/udev/rules.d/59-dasd.rules | 8 ++++++++ + 1 file changed, 8 insertions(+) + +--- a/etc/udev/rules.d/59-dasd.rules ++++ b/etc/udev/rules.d/59-dasd.rules +@@ -26,10 +26,10 @@ + + LABEL="dasd_symlinks_end" + +-# on device add set request queue scheduler to deadline ++# on device add set request queue scheduler to none + SUBSYSTEM!="block", GOTO="sched_end" + + ACTION!="change", GOTO="sched_end" +-KERNEL=="dasd*[!0-9]", TEST=="queue/scheduler", ATTR{queue/scheduler}="deadline" ++KERNEL=="dasd*[!0-9]", TEST=="queue/scheduler", ATTR{queue/scheduler}="none" + + LABEL="sched_end" diff --git a/s390-tools.changes b/s390-tools.changes index 0a72951..80111f5 100644 --- a/s390-tools.changes +++ b/s390-tools.changes @@ -1,3 +1,12 @@ +------------------------------------------------------------------- +Wed Apr 14 18:13:27 UTC 2021 - Mark Post + +- Added s390-tools-sles15sp3-dasd-change-DASD-udev-rule-to-set-none-scheduler.patch + dasd: change default scheduler to reduce CPU consumption (bsc#1183810) +- Modified s390-tools-sles12-create-filesystem-links.patch to fit after + applying s390-tools-sles15sp3-dasd-change-DASD-udev-rule-to-set-none-scheduler.patch +- Removed 59-dasd.rules-wait_for.patch obsoleted by bsc#1183810. + ------------------------------------------------------------------- Mon Mar 8 20:52:57 UTC 2021 - Mark Post diff --git a/s390-tools.spec b/s390-tools.spec index d1dd7a7..ee3669e 100644 --- a/s390-tools.spec +++ b/s390-tools.spec @@ -99,6 +99,7 @@ Patch9: s390-tools-sles15sp3-03-genprotimg-require-argument-for-ramdisk- Patch10: s390-tools-sles15sp3-04-genprotimg-add-host-key-document-verification-suppor.patch Patch11: s390-tools-sles15sp3-zkey-Fix-APQN-property-names.patch Patch12: s390-tools-sles15sp3-zipl-fix-4k-scsi-ipl.patch +Patch13: s390-tools-sles15sp3-dasd-change-DASD-udev-rule-to-set-none-scheduler.patch # SUSE patches Patch900: s390-tools-sles12-zipl_boot_msg.patch @@ -110,11 +111,10 @@ Patch905: s390-tools-sles15sp3-Format-devices-in-parallel.patch Patch906: s390-tools-sles15sp3-Implement-Y-yast_mode.patch Patch907: s390-tools-sles15sp3-Implement-f-for-backwards-compability.patch Patch908: s390-tools-sles15sp3-dasdfmt-retry-BIODASDINFO-if-device-is-busy.patch -Patch909: 59-dasd.rules-wait_for.patch -Patch910: s390-tools-sles12-fdasd-skip-partition-check-and-BLKRRPART-ioctl.patch -Patch911: s390-tools-sles15sp1-11-zdev-Do-not-call-zipl-on-initrd-update.patch -Patch912: s390-tools-sles15sp3-check-return-code-from-util_file_read_l.patch -Patch913: s390-tools-sles15sp3-remove-no-pie-link-arguments.patch +Patch909: s390-tools-sles12-fdasd-skip-partition-check-and-BLKRRPART-ioctl.patch +Patch910: s390-tools-sles15sp1-11-zdev-Do-not-call-zipl-on-initrd-update.patch +Patch911: s390-tools-sles15sp3-check-return-code-from-util_file_read_l.patch +Patch912: s390-tools-sles15sp3-remove-no-pie-link-arguments.patch BuildRequires: curl-devel BuildRequires: dracut