From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.4.0 (2014-02-07) on aws-us-west-2-korg-lkml-1.web.codeaurora.org Received: from kanga.kvack.org (kanga.kvack.org [205.233.56.17]) by smtp.lore.kernel.org (Postfix) with ESMTP id 60577C369D1 for ; Tue, 22 Apr 2025 10:46:23 +0000 (UTC) Received: by kanga.kvack.org (Postfix) id DF3086B000E; Tue, 22 Apr 2025 06:46:20 -0400 (EDT) Received: by kanga.kvack.org (Postfix, from userid 40) id DA1DD6B0010; Tue, 22 Apr 2025 06:46:20 -0400 (EDT) X-Delivered-To: int-list-linux-mm@kvack.org Received: by kanga.kvack.org (Postfix, from userid 63042) id C69716B0011; Tue, 22 Apr 2025 06:46:20 -0400 (EDT) X-Delivered-To: linux-mm@kvack.org Received: from relay.hostedemail.com (smtprelay0017.hostedemail.com [216.40.44.17]) by kanga.kvack.org (Postfix) with ESMTP id A64AF6B000E for ; Tue, 22 Apr 2025 06:46:20 -0400 (EDT) Received: from smtpin04.hostedemail.com (a10.router.float.18 [10.200.18.1]) by unirelay02.hostedemail.com (Postfix) with ESMTP id 4F6B512069B for ; Tue, 22 Apr 2025 10:46:22 +0000 (UTC) X-FDA: 83361350604.04.8DA4F16 Received: from mail-pg1-f181.google.com (mail-pg1-f181.google.com [209.85.215.181]) by imf10.hostedemail.com (Postfix) with ESMTP id 71B34C0005 for ; Tue, 22 Apr 2025 10:46:20 +0000 (UTC) Authentication-Results: imf10.hostedemail.com; dkim=pass header.d=gmail.com header.s=20230601 header.b=eRTnDZaI; dmarc=pass (policy=none) header.from=gmail.com; spf=pass (imf10.hostedemail.com: domain of qq282012236@gmail.com designates 209.85.215.181 as permitted sender) smtp.mailfrom=qq282012236@gmail.com ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=hostedemail.com; s=arc-20220608; t=1745318780; h=from:from:sender:reply-to:subject:subject:date:date: message-id:message-id:to:to:cc:cc:mime-version:mime-version: content-type:content-transfer-encoding:content-transfer-encoding: in-reply-to:in-reply-to:references:references:dkim-signature; bh=Xly8X1cEz+i+9kvxZBf7zmULO0Y4b0BskUgodyS4Lpc=; b=KtczcUg1Mw3J18oyCpho6/J+O00u7wjBcpqX34MGOPe0cFvfZWupSB0g44NxGLXDCUrjG8 sGuM6qNf4PK1V8yh9XSdf8PEyaWtRXRYA5wtmgX1Q13vvEDGSDYNxzodRPIh/AXIPbMelN Gq4zRsEsRQH0mgdIY2iNmU+KWVWrmec= ARC-Seal: i=1; s=arc-20220608; d=hostedemail.com; t=1745318780; a=rsa-sha256; cv=none; b=sXfiSK+TYwuw4Z+RSF2POgW586wgnfbaMW591sWlt3+O5GEark1bQguIdgbQQpKIUkI+is 2BQYM1Ymj+VjYBjYklXC97T7yGHqKOO2rwVGgd4n5mocuNlOQEs53Zv2MDQ2cJf++ZDhe6 90PPoklR7U/RCu1E/8Anvi3BIgEeDsc= ARC-Authentication-Results: i=1; imf10.hostedemail.com; dkim=pass header.d=gmail.com header.s=20230601 header.b=eRTnDZaI; dmarc=pass (policy=none) header.from=gmail.com; spf=pass (imf10.hostedemail.com: domain of qq282012236@gmail.com designates 209.85.215.181 as permitted sender) smtp.mailfrom=qq282012236@gmail.com Received: by mail-pg1-f181.google.com with SMTP id 41be03b00d2f7-af5085f7861so3391776a12.3 for ; Tue, 22 Apr 2025 03:46:20 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20230601; t=1745318779; x=1745923579; darn=kvack.org; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:from:to:cc:subject:date :message-id:reply-to; bh=Xly8X1cEz+i+9kvxZBf7zmULO0Y4b0BskUgodyS4Lpc=; b=eRTnDZaI0o2VneAYIlKYleBRXRitw1RVqdpO9kdF5LA3FViM8V3d1qPyiJF0VWmPtZ QgIB/qRE2TJ8SBy0y7AhRzZTTkBFspMh9OtQhJwHi1aYdqvurT3X0L7CYc7tBJNPuL+L s/vgU6hbYslCN/mG0wNQ/vLHDiwBc6XO71oEH6TuIPEud5kEoGW7lZcCBrslmTAruVgh RlJuYDJ1Dk5kr7o+cG/Lf4ZnT9C9qXBhyHFPF/rkwk9wTOH1SBuOisBNI6uPca6qArxk mo+RIOlc2aUWId8OSQS3bx7RMcrd17o1cIh5rknnN9fAMhWK4rR8WQPI71b6rzC9SqB7 v+lA== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1745318779; x=1745923579; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:x-gm-message-state:from:to:cc :subject:date:message-id:reply-to; bh=Xly8X1cEz+i+9kvxZBf7zmULO0Y4b0BskUgodyS4Lpc=; b=HpDflc2I2T2jflD3aX/yp3DsVhnoIR6e5j7ZvrFks7ex2oR3/+YSiYQBBiAENIefHD zJJ3TlnnTjNCGY24oWUnZGDvEz1LZ8dnzjDBUURZ4xg+DwodrDjlb7PJqtE7SJL+yA4e 1B8nQjgvF0N6GIa4a87BBZ2PFVGyDyoGjMoX/wf+vycQMdELnj+v1ibhNzBwx2kONzpN imd6XyvVC4GB0IBWustIdetfdlo6Z26Vip3onKa+yfn6jrWiJO/NhwG7u+6H6oeZwfK/ +jJPbSuA0f21RT5qQCinz440tbghDCnou3qu2kAAHScXakVJudcosKRLt3P+JC9+QD0Q RoSg== X-Forwarded-Encrypted: i=1; AJvYcCUrzp+PdBfE3BiiBqz0pvd07Qj8Ehlb/k2vNcFWL91pJaKON0Qu9CkMjEOSiO06aKuJYUrMhkNLQQ==@kvack.org X-Gm-Message-State: AOJu0Yw+C3p/3ZNIY+Pc+r94K1iKhIynVBWdBua0yHQxieVFn7itMZWh 5nBO04dg53pwrrG3YdbI/y6mLHgHb6hIR2Y+KX+GIj0AoIw39pt1 X-Gm-Gg: ASbGncvcULVgxvyJMTq2honP5WzlPtEHbIXm+hl7V70b5BTOgKTE0I2eBU3fZYCDFL9 fdf0Z4NlOAS0Reht0VHKowaBRtlBOGPd8ppLUlwNeL5qtVu8imhVCawGMastGc6gUPVhCfdKmh7 +WjCwQzQ6lpj5mmC2d7JG+5tz+HT+JiY1eoiaZ3b9U3LObZnYar14FhNHtHsDtOMZ92RQ+0v5qb gkgYBXFabjB/Fg1PXEqot757ur2JEwEokWzVVj6apcqIMxlhE8hjSKmjmJMfHMNxmDsNnIctN38 LyD9EOTFIENWEOQnRqaIPf008OYV01HJxeJTB0PDumUiIkRSQa2XKdOG7Pl5gj9BnhsEo0oBUc+ oEh8YLA+HnvYx9FtaeMsiyrn2igCWa+qm2kf/raw5wDUvktOq4qwpOc/RUO3hv8FoJiVruTk5rO FZR+Cf X-Google-Smtp-Source: AGHT+IEvi8cHEqKxCFXREp4zm5+5YB1OUJt9x/7QpkeaDQmDO+nzdR3N8oeB3QOX75NaFlZSTp6kLw== X-Received: by 2002:a17:90b:5646:b0:2ee:f80c:6889 with SMTP id 98e67ed59e1d1-3087bcc8a9dmr24601641a91.33.1745318779308; Tue, 22 Apr 2025 03:46:19 -0700 (PDT) Received: from linux-devops-jiangzhiwei-1.asia-southeast1-a.c.monica-ops.internal (92.206.124.34.bc.googleusercontent.com. [34.124.206.92]) by smtp.gmail.com with ESMTPSA id 98e67ed59e1d1-3087e05e90bsm8276853a91.45.2025.04.22.03.46.16 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Tue, 22 Apr 2025 03:46:18 -0700 (PDT) From: Zhiwei Jiang To: viro@zeniv.linux.org.uk Cc: brauner@kernel.org, jack@suse.cz, akpm@linux-foundation.org, peterx@redhat.com, axboe@kernel.dk, asml.silence@gmail.com, linux-fsdevel@vger.kernel.org, linux-mm@kvack.org, linux-kernel@vger.kernel.org, io-uring@vger.kernel.org, Zhiwei Jiang Subject: [PATCH 2/2] userfaultfd: Set the corresponding flag in IOU worker context Date: Tue, 22 Apr 2025 10:45:45 +0000 Message-Id: <20250422104545.1199433-3-qq282012236@gmail.com> X-Mailer: git-send-email 2.34.1 In-Reply-To: <20250422104545.1199433-1-qq282012236@gmail.com> References: <20250422104545.1199433-1-qq282012236@gmail.com> MIME-Version: 1.0 Content-Transfer-Encoding: 8bit X-Rspamd-Server: rspam12 X-Rspamd-Queue-Id: 71B34C0005 X-Rspam-User: X-Stat-Signature: m6me3rg6i7e6rr5g7ikfcd59ehzhugx5 X-HE-Tag: 1745318780-593902 X-HE-Meta: U2FsdGVkX19h6dEiRsKmma4UNpekadvreA9DP1p+EshPfVwF85MuYjT4ZRAa22OtVdhRwihOPDgWGs03gQiXS3ET1hiTzJhUvkhtHrQ8xHOMafqJNYn2ebGKjEqHthYc2lH6oRmHGKAMxQBoUjipu2UeTVfMWcPN4wBzj5B+7tiL1S7nUZum8N5vrstE6PpmglvgmbRuUwoROquddl3ZYQdSYWnlwXIV4DN3+31dMCueJJC84rgGLaVsjt4sQvg0lXH/J6k7L1+s4rDs0PKFD2tgTZxnykHeZq6DMU8hzWRcuN7fFle0kJKRYpTd2WHWasBaWmGuK5iOctGJNjNQfMqoLSn51uOV+zQzwLHfJYtHcmxY7+0UKoP7sO2n4FHGA6OITHrC/OQd7PDFT/lpPb0Sh91fP+y9QvjqGRy77jBvlE5Unvheep682YobeJcesoL63we0+RSQLigQU53Ik903YeM0+n01lR3l8PHo4dKa9XK9iD5TILDeBpQmV91mkN7FKip10qeB/lRO0w0xkQpVH27JpJzHPg8vcdU13MBxfv29mQcWzbBjwRJmAc+rqV08CXSNfaQUiT1Xe9hqDjEGP99OHzCvTnVQ76X9N9xYoBOikwGxxszMdV5fLVq2oZaJY1gDQZEEUv1XUSFjEP1GpUQhIy9iJ7ZLoB7mX9Py20zqdZ7WH8ceEd/C5bpFK1fLmcdYiF3kTA1FvWFmwVFp14XRLWvtH3MDZ5zj0eaAN9iU1gdzUmShQsZWS6e+POJw1Mb9X+ZOqQpx/35QiNfqDasNPRIVhGFHIPmskucvVd/k4h4hLI4FcgloX3/SCHnwQ8N6oksTWPErLgEnNxNh+amlCC2YMAouRIVmd4kGK1Kr9ofZmOyD45e7Qv3Ob2Q+0EZRUEV8G1eN5gqqsvcuilnD5DyQRYqyjnOQlEwr3y+QdhkeBTsPucOUGMvj1h6g4qljdp6RsYDttAH G8QGONPy CNUOVwD4F4vrF9McTYlutyUgX5GlH58GYJv4hT4dYnhR5ejPyVbP+XuzRHgefPL8p+T/uNXXJEHmSPOalfuX4goZwRqE/8tsmLewXqk3hNb/PxKTtKF0su43ZQGs19wuGjlKQX+XRCGcx67j+8yhYN0tTrRsM17EC75lsGJ5UqnLlNoPw9HgYT95DROLznoX88qOSgPl9PKJbPS+kFUNDxEw9vQsvgWd+wyBES5IacgqZk6HO+9dvuEZRrCRbQwfWfSMy2Y04Q2LOPl5uviPzjXS1nVJIrHHooA6tWI0m1lXUnO4TnENdyTqQxhspiiz1ZpuYGFNRFUFw675lk1apnHAnYiNKr/5ZiPnuxdSJ+I/Qdzrapa62ZIlWTNEnJeO6gagewAN5STa7ymYhBaXg6S7UEjZPlWZft5cp5Z72TJ5kVlyw3YWh0Se1cL68BZZVTIlgCLWG3RWJhGA09T2uyOs1PYRN5c8I5QWb5G4Dz7tVU64= X-Bogosity: Ham, tests=bogofilter, spamicity=0.000000, version=1.2.4 Sender: owner-linux-mm@kvack.org Precedence: bulk X-Loop: owner-majordomo@kvack.org List-ID: List-Subscribe: List-Unsubscribe: Set this to avoid premature return from schedule in IOU worker threads, ensuring it sleeps and waits to be woken up as in normal cases. Signed-off-by: Zhiwei Jiang --- fs/userfaultfd.c | 7 +++++++ 1 file changed, 7 insertions(+) diff --git a/fs/userfaultfd.c b/fs/userfaultfd.c index d80f94346199..74bead069e85 100644 --- a/fs/userfaultfd.c +++ b/fs/userfaultfd.c @@ -32,6 +32,7 @@ #include #include #include +#include "../io_uring/io-wq.h" static int sysctl_unprivileged_userfaultfd __read_mostly; @@ -369,7 +370,10 @@ vm_fault_t handle_userfault(struct vm_fault *vmf, unsigned long reason) vm_fault_t ret = VM_FAULT_SIGBUS; bool must_wait; unsigned int blocking_state; + struct io_worker *worker = current->worker_private; + if (worker) + set_userfault_flag_for_ioworker(worker); /* * We don't do userfault handling for the final child pid update * and when coredumping (faults triggered by get_dump_page()). @@ -506,6 +510,9 @@ vm_fault_t handle_userfault(struct vm_fault *vmf, unsigned long reason) __set_current_state(TASK_RUNNING); + if (worker) + clear_userfault_flag_for_ioworker(worker); + /* * Here we race with the list_del; list_add in * userfaultfd_ctx_read(), however because we don't ever run -- 2.34.1