Received: by 2002:a05:7208:9594:b0:7e:5202:c8b4 with SMTP id gs20csp2177007rbb; Tue, 27 Feb 2024 13:12:11 -0800 (PST) X-Forwarded-Encrypted: i=3; AJvYcCVH6BqCrpvc4U0FJxl++7gqyFlkZ1GinKUlnzLVGPQ/dblrIZUrA40UM44O5F0YPy7gACyKjJfwJ3TeHF243HRdwVVBL4zqq4+wcjVcKg== X-Google-Smtp-Source: AGHT+IGDMuaUVAMYbzadcQ+uRko7NgvVBt/Ehv56TutkXNYxiTgl2ReEjQbSz0WvQa1dmSQyA1Id X-Received: by 2002:a17:907:119b:b0:a38:916e:a4fe with SMTP id uz27-20020a170907119b00b00a38916ea4femr7397137ejb.39.1709068331044; Tue, 27 Feb 2024 13:12:11 -0800 (PST) ARC-Seal: i=2; a=rsa-sha256; t=1709068331; cv=pass; d=google.com; s=arc-20160816; b=WsG9k+KNdy05Iv2l6NLy2F75JWzY7B9fnOSqG8rzVnsiSN01tAVki2hmgWNu4Wf2ms eTYWC6TlpEwzNTDi7g8wz8p3LNA5Zwtxv3+6dOdFWwSPPb8GFhjVXvsb1G6RJo73AEno fRMRimklaeXSozBhk6nJbvTStLHd+3xQOc0zakLIfZqBx0IEqjWsNHsTjfdQpBfbVj3m 5oHeB/4Xs8EVCSXe/Ip36RvKY67g2TnYSzyowWfb7jfohlavNKodW1ZXHlBs8r6dDeUW IavgfHWq8i5mzD1z610+hBGMwxp6R7T2qIeJfzIMF+vyinrbvSFUaPowvsr91wnyxhJO edPQ== ARC-Message-Signature: i=2; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=content-transfer-encoding:mime-version:list-unsubscribe :list-subscribe:list-id:precedence:message-id:date:subject:cc:to :from:dkim-signature; bh=ZPE+oqeP/gO+8e/ieSDDfq6bOx9XZ+PWeSTcgAFWM9g=; fh=Wqt4u592Vc0Ekdwkaff3R7fCAv5OiPLKw9u+HiUQN2w=; b=X52Qb45rOnjTKgpyfTl4I4iDDx50Gu9xZgq3khv3TPYyWUHo0FbuRGa0X6U82ZPM4l fdWMi8b2SkQi9CtYGzz4IUwxkkUxf0zgo38UVd0797tYO1dxFlBpf+W8wly9Bf4kbSiw Y50RxnOIjISJIcrTvbSWBy4x8Dt6BnBiXCNcOvl8HnTPUM1J/pNbXZToETSxs9qb9RyG GjWgXsYrBQ53pk5qWAtVTiiH7TWza8ljToiHNW66DqPf5A68d2T23zEezTXplJSw81jh FPqncKG/9fi/cFSLLImrZBnfkXP8rauIBoppQSnOxdYI7gqSL+uMIOIVLzw0KeqvPgYx i5JQ==; dara=google.com ARC-Authentication-Results: i=2; mx.google.com; dkim=pass header.i=@kernel-dk.20230601.gappssmtp.com header.s=20230601 header.b=CEEvFTez; arc=pass (i=1 spf=pass spfdomain=kernel.dk dkim=pass dkdomain=kernel-dk.20230601.gappssmtp.com); spf=pass (google.com: domain of linux-kernel+bounces-84016-linux.lists.archive=gmail.com@vger.kernel.org designates 147.75.80.249 as permitted sender) smtp.mailfrom="linux-kernel+bounces-84016-linux.lists.archive=gmail.com@vger.kernel.org" Return-Path: Received: from am.mirrors.kernel.org (am.mirrors.kernel.org. [147.75.80.249]) by mx.google.com with ESMTPS id f11-20020a170906048b00b00a3e6c3922d0si990891eja.861.2024.02.27.13.12.11 for (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Tue, 27 Feb 2024 13:12:11 -0800 (PST) Received-SPF: pass (google.com: domain of linux-kernel+bounces-84016-linux.lists.archive=gmail.com@vger.kernel.org designates 147.75.80.249 as permitted sender) client-ip=147.75.80.249; Authentication-Results: mx.google.com; dkim=pass header.i=@kernel-dk.20230601.gappssmtp.com header.s=20230601 header.b=CEEvFTez; arc=pass (i=1 spf=pass spfdomain=kernel.dk dkim=pass dkdomain=kernel-dk.20230601.gappssmtp.com); spf=pass (google.com: domain of linux-kernel+bounces-84016-linux.lists.archive=gmail.com@vger.kernel.org designates 147.75.80.249 as permitted sender) smtp.mailfrom="linux-kernel+bounces-84016-linux.lists.archive=gmail.com@vger.kernel.org" Received: from smtp.subspace.kernel.org (wormhole.subspace.kernel.org [52.25.139.140]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by am.mirrors.kernel.org (Postfix) with ESMTPS id CA41E1F21F60 for ; Tue, 27 Feb 2024 21:12:10 +0000 (UTC) Received: from localhost.localdomain (localhost.localdomain [127.0.0.1]) by smtp.subspace.kernel.org (Postfix) with ESMTP id 4593E14F960; Tue, 27 Feb 2024 21:12:02 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=kernel-dk.20230601.gappssmtp.com header.i=@kernel-dk.20230601.gappssmtp.com header.b="CEEvFTez" Received: from mail-pg1-f179.google.com (mail-pg1-f179.google.com [209.85.215.179]) (using TLSv1.2 with cipher ECDHE-RSA-AES128-GCM-SHA256 (128/128 bits)) (No client certificate requested) by smtp.subspace.kernel.org (Postfix) with ESMTPS id 4B8D014EFDF for ; Tue, 27 Feb 2024 21:11:57 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=209.85.215.179 ARC-Seal:i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1709068321; cv=none; b=TVgkzTsmIefMiO0wkfu+s/enpIaFw8P2ihJImszhkSIMR0JpZPGs9sFzEbvxO6hSKOh/nmgEWngvaiRsXdRqS/1tp1lc/PuX3G+5riUbM4NAHUFZx4UxjlMfdmbkKhuCVQaLzbN2iSrRFmJo4F0Y3PR5ykve5CtLlNE44b6T4u4= ARC-Message-Signature:i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1709068321; c=relaxed/simple; bh=hEk9QDFeu1YKNa8wvXHA4VBVHU0myYC6K9alzCsgJxs=; h=From:To:Cc:Subject:Date:Message-ID:MIME-Version; b=omOqh7DtWnaHUsL8p3oAjchMZyd7BFhWGli04K9ERyMERSG7/Kw7kg1O9KnJa1FogUd4FU/9yzhBsHOmZtmFXu31+DMZ7dGwf+r0rCMt33VtvgAZRNEzfPmftRTjwR1LtH18xJEsfLjsFxj9GV97t345xLUksNqcj5mVUmZ+gfw= ARC-Authentication-Results:i=1; smtp.subspace.kernel.org; dmarc=none (p=none dis=none) header.from=kernel.dk; spf=pass smtp.mailfrom=kernel.dk; dkim=pass (2048-bit key) header.d=kernel-dk.20230601.gappssmtp.com header.i=@kernel-dk.20230601.gappssmtp.com header.b=CEEvFTez; arc=none smtp.client-ip=209.85.215.179 Authentication-Results: smtp.subspace.kernel.org; dmarc=none (p=none dis=none) header.from=kernel.dk Authentication-Results: smtp.subspace.kernel.org; spf=pass smtp.mailfrom=kernel.dk Received: by mail-pg1-f179.google.com with SMTP id 41be03b00d2f7-55b5a37acb6so1830143a12.0 for ; Tue, 27 Feb 2024 13:11:57 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=kernel-dk.20230601.gappssmtp.com; s=20230601; t=1709068317; x=1709673117; darn=vger.kernel.org; h=content-transfer-encoding:mime-version:message-id:date:subject:cc :to:from:from:to:cc:subject:date:message-id:reply-to; bh=ZPE+oqeP/gO+8e/ieSDDfq6bOx9XZ+PWeSTcgAFWM9g=; b=CEEvFTezO13TATFk+aNsE9vWHxszrx/0ND8oGCoz2z6r9nc7o6Pd6Gdne8DKG9Dlzz +oBsOI8r45glX0rJqQ9CJ7CAhdlEFCWpEl7JGVMWu09xk082A+shih1KGHiu5NrOp+4g NBS7F4gEqEvvuWio0hMJjdm0pXGG2CNQlrtXTV9u6lfwpsUM3svkcsegx0mHZwrAkjBZ B6tYSWmFKFc8cu8hGrtWllfACxwJEw96btujcJs2DJqkK8TxDYrj8xlDI5QQGmDRZ8YU e0Mt6j03vfBE+hmHfvjMPTZaA+gbG88G/aiZkv1D47zPQ7PxetRWlHJb+iRIxNpeFl00 msiA== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1709068317; x=1709673117; h=content-transfer-encoding:mime-version:message-id:date:subject:cc :to:from:x-gm-message-state:from:to:cc:subject:date:message-id :reply-to; bh=ZPE+oqeP/gO+8e/ieSDDfq6bOx9XZ+PWeSTcgAFWM9g=; b=EoAxd4CWaaL87oMK3jfTQGpz9VEO8Uz12DcXwif8pJV0o48jqzcIZI+mH/fPh8IVKV fLPWqGYFwzzy6I38QdCEA+Yg9q4g/s0Zs2xXD3b3/hG2bADqgCFUlMq3AXX/1AAdW0MX Syw8hZOwjCQ6ZArvrDTxgANPifMh9sf67/1Ro1aAt+g1/gpdfe9gjBTwNxuwUbvJ7zk+ oxt2VS62S8lSFsZFxgPDAQEZ4ZKeNIrDVkJmcIL/MSbEFA6qgquD+PwjfH0y9VX/j6kZ dsXVHn/GOijy0QSL8IZj+wbTxD5+9Fh1s7IogPZrWyU2gtPHp0WVLqGRY5Z+16trXdFV 0FGg== X-Gm-Message-State: AOJu0YzXvgmJaH8RyTl+6gqZmbrHDNRabghqycfBG2tOUsmG4gblA8s7 O/dQM18CXyyeutSmRbHYp7cwfdkzWtBD+FtxTIjywO9OjuQe/QyD7YrWgQy0pRAmwItV/DVmHSp T X-Received: by 2002:a05:6a00:1384:b0:6e5:4abe:fd4c with SMTP id t4-20020a056a00138400b006e54abefd4cmr2833451pfg.3.1709068316753; Tue, 27 Feb 2024 13:11:56 -0800 (PST) Received: from localhost.localdomain ([198.8.77.194]) by smtp.gmail.com with ESMTPSA id u8-20020a056a00098800b006e5557128efsm735390pfg.133.2024.02.27.13.11.55 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Tue, 27 Feb 2024 13:11:56 -0800 (PST) From: Jens Axboe To: linux-kernel@vger.kernel.org Cc: peterz@infradead.org, mingo@redhat.com Subject: [PATCHSET v2 0/2] Split iowait into two states Date: Tue, 27 Feb 2024 14:06:01 -0700 Message-ID: <20240227211152.1099534-1-axboe@kernel.dk> X-Mailer: git-send-email 2.43.0 Precedence: bulk X-Mailing-List: linux-kernel@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 Content-Transfer-Encoding: 8bit Hi, This is v2 of the patch posted yesterday, where the current in_iowait state is split into two parts: 1) The "task is sleeping waiting on IO", and would like cpufreq goodness in terms of sleep and wakeup latencies. 2) The above, and also accounted as such in the iowait stats. The current ->in_iowait covers both, with this series we have ->in_iowait for step 1 above, and ->in_iowait_acct for step 2. You cannot be ->in_iowait_acct without also having ->in_iowait set. Patch 1 is a prep patch, that turns rq->nr_iowait into an unsigned int rather than an atomic_t. Reasons given in that patch. Patch 2 adds the ->in_iowait_acct stage inside the current ->in_iowait setting. I haven't been able to properly benchmark patch 1, as the atomics are noise in any workloads that approximate normality. I can certainly concoct a synthetic test case if folks are interested. My gut says that we're trading 3 fast path atomics for none, and with the 4th case _probably_ being way less likely. There we grab the rq lock. Comments welcome! Peter, CC'ing you since I did in the previous, feel free to ignore. Since v1: - Add prep patch 1, switching nr_iowait to an unsigned int - Modify patch 2 to not use atomic_t as well, no changes otherwise arch/s390/appldata/appldata_base.c | 2 +- arch/s390/appldata/appldata_os.c | 2 +- fs/proc/stat.c | 2 +- include/linux/sched.h | 6 ++++ include/linux/sched/stat.h | 10 ++++-- kernel/sched/core.c | 55 +++++++++++++++++++++++------- kernel/sched/cputime.c | 2 +- kernel/sched/sched.h | 3 +- kernel/time/tick-sched.c | 6 ++-- 9 files changed, 66 insertions(+), 22 deletions(-) -- Jens Axboe