From nobody Sat Feb 7 17:55:33 2026 Received: from e2i340.smtp2go.com (e2i340.smtp2go.com [103.2.141.84]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by smtp.subspace.kernel.org (Postfix) with ESMTPS id 83CEA3B95E1 for ; Wed, 21 Jan 2026 19:40:53 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=103.2.141.84 ARC-Seal: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1769024455; cv=none; b=IevyQndXpwMq7eMzBAA6nL6+Debyqp63v9P/wXygx6vX4vD2dJIC5Nnpfeq8C6SEEwqk2xSnCEyY1Bke01SKgQffoGymSgThdpetcRkf6f8zBQIPrbzmHCLr1/49ChpeE0V1EIpqCUVcrR9baRtywydoqa/7V9rkxfQW3xUMJ6w= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1769024455; c=relaxed/simple; bh=xWR8+2wGjm3ruZk2p6dj6phIUu2lpRDLViyNPoYkxoA=; h=From:To:Cc:Subject:Date:Message-ID:In-Reply-To:References: MIME-Version; b=T6vPw/jMW/ITB+y03jQXFLXIb5iClrnScz4vtLKk1hQ9yvLIyvCw/6HJ0OpwLgl5+DMMt/QT8RuMByATMBTUsLsn4nDz2EB+BR74euGsVOOrBrwb0AJmVSOp8PUSeMo7JygUTeqtIMfvYjHryhD5jwMOVksCQk0pJh+j5Fx6HAM= ARC-Authentication-Results: i=1; smtp.subspace.kernel.org; dmarc=pass (p=quarantine dis=none) header.from=triplefau.lt; spf=pass smtp.mailfrom=em510616.triplefau.lt; dkim=fail (0-bit key) header.d=smtpservice.net header.i=@smtpservice.net header.b=DwInI4tY reason="unknown key version"; dkim=pass (2048-bit key) header.d=triplefau.lt header.i=@triplefau.lt header.b=Rbs0M8iu; arc=none smtp.client-ip=103.2.141.84 Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=quarantine dis=none) header.from=triplefau.lt Authentication-Results: smtp.subspace.kernel.org; spf=pass smtp.mailfrom=em510616.triplefau.lt Authentication-Results: smtp.subspace.kernel.org; dkim=fail reason="unknown key version" (0-bit key) header.d=smtpservice.net header.i=@smtpservice.net header.b="DwInI4tY"; dkim=pass (2048-bit key) header.d=triplefau.lt header.i=@triplefau.lt header.b="Rbs0M8iu" DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=smtpservice.net; s=maxzs0.a1-4.dyn; x=1769025353; h=Feedback-ID: X-Smtpcorp-Track:Message-ID:Date:Subject:To:From:Reply-To:Sender: List-Unsubscribe:List-Unsubscribe-Post; bh=4cFXi5ffTlofjVqYriSS7S+dg6PFnmAY2IZAHb9HavE=; b=DwInI4tY3o3Yck/rBne23yCcb0 nynPxl7rNt59AyehMek6MvjI3Um/OVag1dDu/8Vl6HDYOeEhNVQ6BOFlY1Gy1JB4IEhShA6X6bqtM AJlznberGFwtn1m/WYxxKf1e5/E8wwQtGNe5hwv7u+XWQUcSUE55Gm9r1VU3za+6CdD4JqWNzgwFe CxdIjuHoZhF/1gMYSDM2wz71ru+QpYboRdXce5L2fQLBIERPV3JZzHIxm/FsdhSaJROKMvFMnFG2A 5zLeAiTm0l9gNlbMPqYJuFyjzSBKCseuYRw1c+pl+Kq8BoEwwkC51gJx6iSr1TYLjYORPf6fz9Cij xJEWvrWQ==; DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=triplefau.lt; i=@triplefau.lt; q=dns/txt; s=s510616; t=1769024453; h=from : subject : to : message-id : date; bh=4cFXi5ffTlofjVqYriSS7S+dg6PFnmAY2IZAHb9HavE=; b=Rbs0M8ius8I0ftCb/WdJ+MnF+CtPHQHEba+aQmehS/CAVSBPKKa0zC0xpjIG7N0SNbitu +9M66f2f7IrbDtIrnA8fGK/XVv334wodLLCEXkvjstywLctQjuT0SvP2ukqu7DXhV5ikFeA T477Xk+5tC3d6rKcuwARI1jdEB4nlpClpvokQ05PzGvTxtM2yCyxhj44e4g8So/LIaeobBb 8c75IpUuUZb/948HRobE4Z5DTXHUcHcRcyDTGPVhQ9ZIeV9OonfvZKdI85NCAklplgFlbrH 1/ElVEEkZriB+ELXKgwGsSJQbmDxMovS1VNlSAangH5gc0NebI4OAivvjRMA== Received: from [10.172.233.58] (helo=SmtpCorp) by smtpcorp.com with esmtpsa (TLS1.3:ECDHE_SECP256R1__RSA_PSS_RSAE_SHA256__AES_256_GCM:256) (Exim 4.94.2-S2G) (envelope-from ) id 1vie3f-TRk7G4-Ax; Wed, 21 Jan 2026 19:40:03 +0000 Received: from [10.12.239.196] (helo=localhost) by smtpcorp.com with esmtpsa (TLS1.3:ECDHE_SECP256R1__RSA_PSS_RSAE_SHA256__AES_256_GCM:256) (Exim 4.98.1-S2G) (envelope-from ) id 1vie3e-FnQW0hPpU1x-o72R; Wed, 21 Jan 2026 19:40:03 +0000 From: Remi Pommarel To: Peter Zijlstra , Ingo Molnar , v9fs@lists.linux.dev Cc: Juri Lelli , Vincent Guittot , Eric Van Hensbergen , Latchesar Ionkov , Dominique Martinet , linux-fsdevel@vger.kernel.org, linux-kernel@vger.kernel.org, Remi Pommarel Subject: [PATCH 1/2] wait: Introduce io_wait_event_killable() Date: Wed, 21 Jan 2026 20:21:58 +0100 Message-ID: <1b2870001ecd34fe6c05be2ddfefb3c798b11701.1769009696.git.repk@triplefau.lt> X-Mailer: git-send-email 2.50.1 In-Reply-To: References: Precedence: bulk X-Mailing-List: linux-kernel@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 Content-Transfer-Encoding: quoted-printable X-Smtpcorp-Track: 4MAj9PayyNsY.EPCZ8TB6QCiY.3M2x8gFk5HF Feedback-ID: 510616m:510616apGKSTK:510616s8cjAlH8hC X-Report-Abuse: Please forward a copy of this message, including all headers, to Content-Type: text/plain; charset="utf-8" Add io_wait_event_killable(), a variant of wait_event_killable() that uses io_schedule() instead of schedule(). This is to be used in situation where waiting time is to be accounted as IO wait time. Signed-off-by: Remi Pommarel Acked-by: Peter Zijlstra (Intel) --- include/linux/wait.h | 15 +++++++++++++++ 1 file changed, 15 insertions(+) diff --git a/include/linux/wait.h b/include/linux/wait.h index f648044466d5..dce055e6add3 100644 --- a/include/linux/wait.h +++ b/include/linux/wait.h @@ -937,6 +937,21 @@ extern int do_wait_intr_irq(wait_queue_head_t *, wait_= queue_entry_t *); __ret; \ }) =20 +#define __io_wait_event_killable(wq, condition) \ + ___wait_event(wq, condition, TASK_KILLABLE, 0, 0, io_schedule()) + +/* + * wait_event_killable() - link wait_event_killable but with io_schedule() + */ +#define io_wait_event_killable(wq_head, condition) \ +({ \ + int __ret =3D 0; \ + might_sleep(); \ + if (!(condition)) \ + __ret =3D __io_wait_event_killable(wq_head, condition); \ + __ret; \ +}) + #define __wait_event_state(wq, condition, state) \ ___wait_event(wq, condition, state, 0, 0, schedule()) =20 --=20 2.50.1 From nobody Sat Feb 7 17:55:33 2026 Received: from e2i340.smtp2go.com (e2i340.smtp2go.com [103.2.141.84]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by smtp.subspace.kernel.org (Postfix) with ESMTPS id 882C83A7DE9 for ; Wed, 21 Jan 2026 19:40:54 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=103.2.141.84 ARC-Seal: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1769024456; cv=none; b=tuCV79u68KlIPsExZmD0pp6VfP0F1FcnDGTrIjyD5LpRkBz7Mu9TeBa1ZF/MbkxBShhs8MhbpODE8naJIanzj/YHUGDrlyUMkWPaS1ux8SrcSe/hUCEnNaWZ5b5FPnYKrOu31IB3XeXc6COBK5U7oDb64onVGdNBF+Fh5/yLVxs= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1769024456; c=relaxed/simple; bh=S3hxWCQPMT8XIQzsU477HCdlF2KOvOQcuSSHK1nzbBA=; h=From:To:Cc:Subject:Date:Message-ID:In-Reply-To:References: MIME-Version; b=S34LfpqE16EKe5QZxT46dUQ3YlQss1AVhUzUs28nIHQ1F+iiB5CK4uFSZtDoOkf/t718hnbAXuYYkq/nJ8rAaACzy05t8ED2nOUy1ILyLatBsX5L9SaMcuwj8H3sGZiWedw+7Lx3F1OUzBkcRva7eK1N5jCL7jCCUFh39fP8Wng= ARC-Authentication-Results: i=1; smtp.subspace.kernel.org; dmarc=pass (p=quarantine dis=none) header.from=triplefau.lt; spf=pass smtp.mailfrom=em510616.triplefau.lt; dkim=fail (0-bit key) header.d=smtpservice.net header.i=@smtpservice.net header.b=YO/+shFp reason="unknown key version"; dkim=pass (2048-bit key) header.d=triplefau.lt header.i=@triplefau.lt header.b=Fk8GhZKC; arc=none smtp.client-ip=103.2.141.84 Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=quarantine dis=none) header.from=triplefau.lt Authentication-Results: smtp.subspace.kernel.org; spf=pass smtp.mailfrom=em510616.triplefau.lt Authentication-Results: smtp.subspace.kernel.org; dkim=fail reason="unknown key version" (0-bit key) header.d=smtpservice.net header.i=@smtpservice.net header.b="YO/+shFp"; dkim=pass (2048-bit key) header.d=triplefau.lt header.i=@triplefau.lt header.b="Fk8GhZKC" DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=smtpservice.net; s=maxzs0.a1-4.dyn; x=1769025354; h=Feedback-ID: X-Smtpcorp-Track:Message-ID:Date:Subject:To:From:Reply-To:Sender: List-Unsubscribe:List-Unsubscribe-Post; bh=/OSCX664UbG6WyfoVOW1dP6q4L9KvL6tcvUejq4tXGY=; b=YO/+shFpUkbdMF8suSUjkui6qk rdBv3mosUWUT6S3shoUBaPQFxaCuuyuPQMO/1elGjcmsP8Bh0P5D1gpjUmYH8SdDsuQunSgVM2h05 oZqj92z7OXgthbXS761Ci1RE0ZQo3XllqSFC+qbUwbMrxMjiaRmXl4AVozW7lO5BKcBobjqPj8Fwg nKkcn9bqXDv+kN9Au+EiuFj7dtFT2jwXnlhe7G64RuTB7rBtZr2ZMueZXYK2sb8ifthTC7IJI8RXx Q1gWS+hkk/y55SynZVj6QGx7upauUWIF2+o8eiQjRZwvZ2ojtdDOzqdjXlswBWimlvWgqMnIZvSA0 TRsJU0Lw==; DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=triplefau.lt; i=@triplefau.lt; q=dns/txt; s=s510616; t=1769024454; h=from : subject : to : message-id : date; bh=/OSCX664UbG6WyfoVOW1dP6q4L9KvL6tcvUejq4tXGY=; b=Fk8GhZKCYWiM7AhIXo7wBbJPlGlGxU3GWqhRSNcfU7ywYxgIU/ZBIQPBMdL+QzrlMIFxh fJRtbN72T0Gd7kbUsqsKjyB3Yz70b3zLESwCyR3ZB6xzp/kodPBWVrJZBsD+6hwb/10Tk69 uWuT9lnStYAArMQUDjBzNzcXSsBdc7bQSEgo0dz/I9RTxEBSnAz89WHUKt+F/Y28uQq+pHT /fzmjsey/PoxVD7IDVk/5ekmT8xL6n4miCPH0lWzcuaAi5Zk3vYxBrHoN7/ofnEGGqD36B2 zMPpzlHYI7c8werMOTo/2aQZC1Xovd5P4Ja57Jl/Ru1JBYMSYYYg4CRMFKQA== Received: from [10.139.162.187] (helo=SmtpCorp) by smtpcorp.com with esmtpsa (TLS1.3:ECDHE_SECP256R1__RSA_PSS_RSAE_SHA256__AES_256_GCM:256) (Exim 4.94.2-S2G) (envelope-from ) id 1vie3n-TRjx7e-LU; Wed, 21 Jan 2026 19:40:11 +0000 Received: from [10.12.239.196] (helo=localhost) by smtpcorp.com with esmtpsa (TLS1.3:ECDHE_SECP256R1__RSA_PSS_RSAE_SHA256__AES_256_GCM:256) (Exim 4.98.1-S2G) (envelope-from ) id 1vie3n-4o5NDgrkeP7-lgVq; Wed, 21 Jan 2026 19:40:11 +0000 From: Remi Pommarel To: Peter Zijlstra , Ingo Molnar , v9fs@lists.linux.dev Cc: Juri Lelli , Vincent Guittot , Eric Van Hensbergen , Latchesar Ionkov , Dominique Martinet , linux-fsdevel@vger.kernel.org, linux-kernel@vger.kernel.org, Remi Pommarel Subject: [PATCH 2/2] 9p: Track 9P RPC waiting time as IO Date: Wed, 21 Jan 2026 20:21:59 +0100 Message-ID: <47f0b44f159084f4032a9424e0e2e586b8640a12.1769009696.git.repk@triplefau.lt> X-Mailer: git-send-email 2.50.1 In-Reply-To: References: Precedence: bulk X-Mailing-List: linux-kernel@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 Content-Transfer-Encoding: quoted-printable X-Smtpcorp-Track: 7ouPmQ6Imzxo.A0j4SQANXp3n.kudOTgZCmkg Feedback-ID: 510616m:510616apGKSTK:510616s9QkJ0c_51 X-Report-Abuse: Please forward a copy of this message, including all headers, to Content-Type: text/plain; charset="utf-8" Use io_wait_event_killable() to ensure that time spent waiting for 9P RPC transactions is accounted as IO wait time. Signed-off-by: Remi Pommarel --- net/9p/client.c | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/net/9p/client.c b/net/9p/client.c index f60d1d041adb..1b475525ac5b 100644 --- a/net/9p/client.c +++ b/net/9p/client.c @@ -590,8 +590,8 @@ p9_client_rpc(struct p9_client *c, int8_t type, const c= har *fmt, ...) } again: /* Wait for the response */ - err =3D wait_event_killable(req->wq, - READ_ONCE(req->status) >=3D REQ_STATUS_RCVD); + err =3D io_wait_event_killable(req->wq, + READ_ONCE(req->status) >=3D REQ_STATUS_RCVD); =20 /* Make sure our req is coherent with regard to updates in other * threads - echoes to wmb() in the callback --=20 2.50.1