Activity log for bug #1724614

Date Who What changed Old value New value Message
2017-10-18 16:37:27 Jorge Niedbalski bug added bug
2017-10-18 16:37:51 Jorge Niedbalski tags sts
2017-10-18 16:55:03 Joseph Salisbury linux (Ubuntu): importance Undecided Medium
2017-10-18 16:55:16 Joseph Salisbury nominated for series Ubuntu Zesty
2017-10-18 16:55:16 Joseph Salisbury bug task added linux (Ubuntu Zesty)
2017-10-18 16:55:16 Joseph Salisbury nominated for series Ubuntu Xenial
2017-10-18 16:55:16 Joseph Salisbury bug task added linux (Ubuntu Xenial)
2017-10-18 16:55:25 Joseph Salisbury linux (Ubuntu Xenial): importance Undecided Medium
2017-10-18 16:55:30 Joseph Salisbury linux (Ubuntu Zesty): importance Undecided Medium
2017-10-18 16:55:35 Joseph Salisbury linux (Ubuntu): status New Triaged
2017-10-18 16:55:38 Joseph Salisbury linux (Ubuntu Xenial): status New Triaged
2017-10-18 16:55:43 Joseph Salisbury linux (Ubuntu Zesty): status New Triaged
2017-10-18 16:55:52 Joseph Salisbury tags sts kernel-da-key sts
2018-01-24 14:18:47 Victor Tapia description [Environment] Reproducible <= 4.12 that means all our supported series + HWE (including edge). Distributor ID: Ubuntu Description: Ubuntu 16.04.3 LTS Release: 16.04 Codename: xenial Linux 4.10.0-33-generic #37~16.04.1-Ubuntu SMP Fri Aug 11 14:07:24 UTC 2017 x86_64 x86_64 x86_64 GNU/Linux [Description] We've identified a constant high (~90%) system time load at the host level when a VCPU in a KVM guest remains or switches/resumes in/from halt/idle state in a constant frequency, usually for a slightly smaller time than the default polling period. The halt polling mechanism has the intention to reduce latency in the cases on which the guest is quickly resumed saving a call to the scheduler. We've performed some testing by adjusting the /sys/module/kvm/parameters/halt_poll_ns value which defines the max time that should be spend polling before calling the scheduler to allow it to run other tasks (which defaults to 400000 ns in Ubuntu). With the default value the tests shows that the load remains nearly on 90% on a VCPU that has a single task in the run queue. We've also tested altering the halt_poll_ns value to 200000 ns and the results seems to drop the system time usage from 90% to ~25%. root@buneary:/home/ubuntu/trace# echo 200000 > /sys/module/kvm/parameters/halt_poll_ns root@buneary:/home/ubuntu/trace# sudo mpstat 1 -P 6 5 Linux 4.10.0-33-generic (buneary) 10/16/2017 _x86_64_ (56 CPU) 02:33:59 PM CPU %usr %nice %sys %iowait %irq %soft %steal %guest %gnice %idle [...] 02:34:03 PM 6 4.04 0.00 24.24 0.00 0.00 0.00 0.00 12.12 0.00 59.60 02:34:04 PM 6 2.97 0.00 27.72 0.00 0.00 0.00 0.00 11.88 0.00 57.43 Average: 6 2.45 0.00 25.97 0.00 0.00 0.00 0.00 12.07 0.00 59.51 root@buneary:/home/ubuntu/trace# echo 400000 > /sys/module/kvm/parameters/halt_poll_ns root@buneary:/home/ubuntu/trace# sudo mpstat 1 -P 6 5 Linux 4.10.0-33-generic (buneary) 10/16/2017 _x86_64_ (56 CPU) 02:34:08 PM CPU %usr %nice %sys %iowait %irq %soft %steal %guest %gnice %idle 02:34:09 PM 6 1.94 0.00 92.23 0.00 0.00 0.00 0.00 3.88 0.00 1.94 [...] Average: 6 1.38 0.00 89.74 0.00 0.00 0.00 0.00 7.30 0.00 1.58 [Reproducer] 1) Configure a KVM guest with a single pinned VCPU. 2) Run the following program (http://pastebin.ubuntu.com/25731919/) at the KVM guest. $ gcc test.c -lpthread -o test && ./test 250 0 3) Run mpstat at the host on the pinned CPU and compare the stats $ sudo mpstat 1 -P 6 5 [Fix] Change the halt polling max time to half of the current value. In some fio benchmarks, halt_poll_ns=400000 caused CPU utilization to increase heavily even in cases where the performance improvement was small. In particular, bandwidth divided by CPU usage was as much as 60% lower. To some extent this is the expected effect of the patch, and the additional CPU utilization is only visible when running the benchmarks. However, halving the threshold also halves the extra CPU utilization (from +30-130% to +20-70%) and has no negative effect on performance. Signed-off-by: Paolo Bonzini <pbonzini@redhat.com> * https://github.com/torvalds/linux/commit/b401ee0b85a53e89739ff68a5b1a0667d664afc9 [Environment] Distributor ID: Ubuntu Description: Ubuntu 16.04.3 LTS Release: 16.04 Codename: xenial Linux porygon 4.4.0-112-generic #135-Ubuntu SMP Fri Jan 19 11:48:36 UTC 2018 x86_64 x86_64 x86_64 GNU/Linux [Description] We've identified a constant high (~90%) system time load at the host level when a VCPU in a KVM guest remains or switches/resumes in/from halt/idle state in a constant frequency, usually for a slightly smaller time than the default polling period. The halt polling mechanism has the intention to reduce latency in the cases on which the guest is quickly resumed saving a call to the scheduler. We've performed some testing by adjusting the /sys/module/kvm/parameters/halt_poll_ns value which defines the max time that should be spend polling before calling the scheduler to allow it to run other tasks (which defaults to 400000 ns in Ubuntu). With the default value the tests shows that the load remains nearly on 90% on a VCPU that has a single task in the run queue. We've also tested altering the halt_poll_ns value to 200000 ns and the results seems to drop the system time usage from 90% to ~25%. root@porygon:/home/ubuntu# echo 200000 > /sys/module/kvm/parameters/halt_poll_ns root@porygon:/home/ubuntu# mpstat 1 -P 6 5 Linux 4.4.0-112-generic (porygon) 01/24/2018 _x86_64_ (64 CPU) 02:06:08 PM CPU %usr %nice %sys %iowait %irq %soft %steal %guest %gnice %idle 02:06:09 PM 6 0.00 0.00 4.85 0.00 0.00 0.00 0.00 16.50 0.00 78.64 [...] Average: 6 0.00 0.00 4.26 0.00 0.00 0.00 0.00 17.83 0.00 77.91 root@porygon:/home/ubuntu# echo 400000 > /sys/module/kvm/parameters/halt_poll_ns root@porygon:/home/ubuntu# mpstat 1 -P 6 5 Linux 4.4.0-112-generic (porygon) 01/24/2018 _x86_64_ (64 CPU) 02:06:20 PM CPU %usr %nice %sys %iowait %irq %soft %steal %guest %gnice %idle 02:06:21 PM 6 0.00 0.00 87.13 0.00 0.00 0.00 0.00 11.88 0.00 0.99 [...] Average: 6 0.00 0.00 89.59 0.00 0.00 0.00 0.00 8.45 0.00 1.96 [Reproducer] 1) Configure a KVM guest with a single pinned VCPU. 2) Run the following program (http://pastebin.ubuntu.com/25731919/) at the KVM guest. $ gcc test.c -lpthread -o test && ./test 250 0 3) Run mpstat at the host on the pinned CPU and compare the stats $ sudo mpstat 1 -P 6 5 [Fix] Change the halt polling max time to half of the current value. In some fio benchmarks, halt_poll_ns=400000 caused CPU utilization to increase heavily even in cases where the performance improvement was small. In particular, bandwidth divided by CPU usage was as much as 60% lower. To some extent this is the expected effect of the patch, and the additional CPU utilization is only visible when running the benchmarks. However, halving the threshold also halves the extra CPU utilization (from +30-130% to +20-70%) and has no negative effect on performance. Signed-off-by: Paolo Bonzini <pbonzini@redhat.com> * https://github.com/torvalds/linux/commit/b401ee0b85a53e89739ff68a5b1a0667d664afc9
2018-01-29 13:07:54 Victor Tapia linux (Ubuntu Zesty): status Triaged Won't Fix
2018-01-29 13:16:41 Eric Desrochers bug added subscriber Eric Desrochers
2018-01-30 15:24:07 Victor Tapia bug added subscriber Victor Tapia
2018-02-04 01:26:43 Khaled El Mously linux (Ubuntu Xenial): status Triaged Fix Committed
2018-03-19 10:55:44 Stefan Bader tags kernel-da-key sts kernel-da-key sts verification-needed-xenial
2018-03-21 14:34:59 Victor Tapia tags kernel-da-key sts verification-needed-xenial kernel-da-key sts verification-done-xenial
2018-04-04 09:27:25 Launchpad Janitor linux (Ubuntu Xenial): status Fix Committed Fix Released
2018-04-04 09:27:25 Launchpad Janitor cve linked 2017-15129
2018-04-04 09:27:25 Launchpad Janitor cve linked 2017-16995
2018-04-04 09:27:25 Launchpad Janitor cve linked 2017-17448
2018-04-04 09:27:25 Launchpad Janitor cve linked 2017-17450
2018-04-04 09:27:25 Launchpad Janitor cve linked 2017-17741
2018-04-04 09:27:25 Launchpad Janitor cve linked 2017-17862
2018-04-04 09:27:25 Launchpad Janitor cve linked 2017-5753
2018-04-04 09:27:25 Launchpad Janitor cve linked 2018-1000026
2018-04-04 09:27:25 Launchpad Janitor cve linked 2018-5333
2018-04-04 09:27:25 Launchpad Janitor cve linked 2018-5344
2018-04-04 09:27:25 Launchpad Janitor cve linked 2018-8043
2020-07-14 15:41:11 Guilherme G. Piccoli bug task deleted linux (Ubuntu)
2020-07-14 15:42:53 Guilherme G. Piccoli bug task deleted linux (Ubuntu Xenial)
2020-07-14 16:06:28 Guilherme G. Piccoli linux (Ubuntu Xenial): status New Fix Released
2020-07-14 16:06:30 Guilherme G. Piccoli bug task deleted linux (Ubuntu Groovy)
2020-07-14 16:06:35 Guilherme G. Piccoli linux (Ubuntu Xenial): importance Undecided Medium
2020-07-14 16:06:59 Guilherme G. Piccoli bug added subscriber Guilherme G. Piccoli