From patchwork Mon Mar 29 16:15:46 2021 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Frank Heimes X-Patchwork-Id: 1459701 Return-Path: X-Original-To: incoming@patchwork.ozlabs.org Delivered-To: patchwork-incoming@bilbo.ozlabs.org Authentication-Results: ozlabs.org; spf=none (no SPF record) smtp.mailfrom=lists.ubuntu.com (client-ip=91.189.94.19; helo=huckleberry.canonical.com; envelope-from=kernel-team-bounces@lists.ubuntu.com; receiver=) Received: from huckleberry.canonical.com (huckleberry.canonical.com [91.189.94.19]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by ozlabs.org (Postfix) with ESMTPS id 4F8HkY40gDz9sRR; Tue, 30 Mar 2021 03:16:04 +1100 (AEDT) Received: from localhost ([127.0.0.1] helo=huckleberry.canonical.com) by huckleberry.canonical.com with esmtp (Exim 4.86_2) (envelope-from ) id 1lQuYY-0001mj-4B; Mon, 29 Mar 2021 16:15:58 +0000 Received: from youngberry.canonical.com ([91.189.89.112]) by huckleberry.canonical.com with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.86_2) (envelope-from ) id 1lQuYV-0001mb-Vi for kernel-team@lists.ubuntu.com; Mon, 29 Mar 2021 16:15:55 +0000 Received: from p5b17550a.dip0.t-ipconnect.de ([91.23.85.10] helo=T570.fritz.box) by youngberry.canonical.com with esmtpsa (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.86_2) (envelope-from ) id 1lQuYV-00019M-M2 for kernel-team@lists.ubuntu.com; Mon, 29 Mar 2021 16:15:55 +0000 From: frank.heimes@canonical.com To: kernel-team@lists.ubuntu.com Subject: [SRU][F][G][H][PATCH 0/1] s390/vtime: fix increased steal time accounting (LP: 1921498) Date: Mon, 29 Mar 2021 18:15:46 +0200 Message-Id: <20210329161547.1159738-1-frank.heimes@canonical.com> X-Mailer: git-send-email 2.25.1 MIME-Version: 1.0 X-BeenThere: kernel-team@lists.ubuntu.com X-Mailman-Version: 2.1.20 Precedence: list List-Id: Kernel team discussions List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: kernel-team-bounces@lists.ubuntu.com Sender: "kernel-team" BugLink: https://bugs.launchpad.net/bugs/1921498 SRU Justification: [Impact] * The reported steal time on s390x is erroneously increasing and therefore broken. * This problem got introduced with commit 152e9b8676c6e ("s390/vtime: steal time exponential moving average") - upstream with v5.1 [Fix] * d54cb7d54877d529bc1e0e1f47a3dd082f73add3 d54cb7d54877 "s390/vtime: fix increased steal time accounting" [Test Case] * An IBM Z or LinuxONE systems, installed with Ubuntu Server 20.04, 20.10 and 21.04 on LPAR, are needed. * The system needs to be configured as KVM host with one or more KVM guests. * Now put significant workload on the guest(s), so that the hypervisor starts to 'steal time'. This can be best forced by having only very limited CPU resources for the hypervisor itself. * Start monitoring the steal time, that is reported at /proc/stat, but can be more easily verified with tools like vmstat or even top. * If the steal time starts ever growing (exponentially), the situation is broken. * In case the steal time stays relatively constant, or grows only very limited after a ramp up phase of some minutes, or just oscillates around a certain value, a fixed/patched kernel is in use. [Regression Potential] * The patch only changes the single line that calculates: account_steal_time * In case the account_steal_time calculation is still broken after the modification, the steal time is just again not reported correctly on s390x, but maybe in a different way (rather than exponentially growing). * But it will not further harm virtualization on s390x systems. * The modification is very limited with that one line change. * The commit got upstream accepted with 5.12-rc4. [Other] * Since the patch is needed for kernel higher than 5.1 and got upstream accepted with 5.12-rc4, hirsute, groovy and focal are affected. * The upstream commit can be cleanly cherry-picked from all three affected Ubuntu releases. Gerald Schaefer (1): s390/vtime: fix increased steal time accounting arch/s390/kernel/vtime.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-)