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 40010C369C2 for ; Tue, 22 Apr 2025 16:32:40 +0000 (UTC) Received: by kanga.kvack.org (Postfix) id D43AA6B0011; Tue, 22 Apr 2025 12:32:38 -0400 (EDT) Received: by kanga.kvack.org (Postfix, from userid 40) id CF1456B0012; Tue, 22 Apr 2025 12:32:38 -0400 (EDT) X-Delivered-To: int-list-linux-mm@kvack.org Received: by kanga.kvack.org (Postfix, from userid 63042) id BE0BF6B0022; Tue, 22 Apr 2025 12:32:38 -0400 (EDT) X-Delivered-To: linux-mm@kvack.org Received: from relay.hostedemail.com (smtprelay0015.hostedemail.com [216.40.44.15]) by kanga.kvack.org (Postfix) with ESMTP id A39DA6B0011 for ; Tue, 22 Apr 2025 12:32:38 -0400 (EDT) Received: from smtpin24.hostedemail.com (a10.router.float.18 [10.200.18.1]) by unirelay03.hostedemail.com (Postfix) with ESMTP id 2E6BAB674B for ; Tue, 22 Apr 2025 16:32:39 +0000 (UTC) X-FDA: 83362223238.24.CE4BD49 Received: from mail-io1-f43.google.com (mail-io1-f43.google.com [209.85.166.43]) by imf16.hostedemail.com (Postfix) with ESMTP id 26AEF18000B for ; Tue, 22 Apr 2025 16:32:36 +0000 (UTC) Authentication-Results: imf16.hostedemail.com; dkim=pass header.d=kernel-dk.20230601.gappssmtp.com header.s=20230601 header.b=zhOsiTvj; dmarc=none; spf=pass (imf16.hostedemail.com: domain of axboe@kernel.dk designates 209.85.166.43 as permitted sender) smtp.mailfrom=axboe@kernel.dk ARC-Seal: i=1; s=arc-20220608; d=hostedemail.com; t=1745339557; a=rsa-sha256; cv=none; b=lzeeNiDHhg5+tUImNcyDdepU/uYMJrys3zlR9yml9ZEdpYjVPDABiV9Q+blmSdKcz4gQM+ o22yUYlb8bafjpbRZF/l5qGt3l6ggNShIwsBLnBhCULabWTBDl+lraf9WItfHABRI4lTSf g/t4Qtc5qMS6LWTJvo+HzuTfeC1Tx+E= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=hostedemail.com; s=arc-20220608; t=1745339557; 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-type: content-transfer-encoding:content-transfer-encoding: in-reply-to:in-reply-to:references:references:dkim-signature; bh=BI9KG26m9xjN9k6dbGw+O0NB/svh8sdwPuBKvebFKKY=; b=dB/NL6Tl0fuR6wXVeuNcbGW2GZ1OCNVu5YVbKCMl0RrpE22hLkmGWLPFvD7n5yi9aVHPyh aGMR2oUuHkYQTF8vDQ2W9ZOeT2d85fzmy0NEiX0+3q4HD+KKMJtbLn2dGeX9PWRJy2Czom ptnlnNLyMjXk1TpU676Z/19ZOipbUSY= ARC-Authentication-Results: i=1; imf16.hostedemail.com; dkim=pass header.d=kernel-dk.20230601.gappssmtp.com header.s=20230601 header.b=zhOsiTvj; dmarc=none; spf=pass (imf16.hostedemail.com: domain of axboe@kernel.dk designates 209.85.166.43 as permitted sender) smtp.mailfrom=axboe@kernel.dk Received: by mail-io1-f43.google.com with SMTP id ca18e2360f4ac-85da5a3667bso130165039f.1 for ; Tue, 22 Apr 2025 09:32:36 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=kernel-dk.20230601.gappssmtp.com; s=20230601; t=1745339556; x=1745944356; darn=kvack.org; h=content-transfer-encoding:in-reply-to:from:content-language :references:cc:to:subject:user-agent:mime-version:date:message-id :from:to:cc:subject:date:message-id:reply-to; bh=BI9KG26m9xjN9k6dbGw+O0NB/svh8sdwPuBKvebFKKY=; b=zhOsiTvjYBKLhijxYcZjVtssU278HsPgNrm1bVKEWpoJ98BW3aqM4rU/MU/PS2VM2p HVkReBPDLwh+kbfxLWfpMXTZCbVtb0bd1SdJ5NuExTch/DiK0SdigrenI/IjPr7nRhBx 731Wpx1JWFvT7+MxcDxluvSEyfrqOxyQ0Xf57TJWo8cWViMCgMHHr7V9URrWRQAtYAyn AuezTodv4bpv1d9llyBQIijtBNGW3l6gl+PpWOAGj+eSPrXGp5UukVulVNYGrdj/t0ur LZhFMfPN6hXnNri4vlRc7xNRvGgKCQBIwYGzifoOsFq26Exx97JZxVUYtVUT9VK0xpi8 YB9g== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1745339556; x=1745944356; h=content-transfer-encoding:in-reply-to:from:content-language :references:cc:to:subject:user-agent:mime-version:date:message-id :x-gm-message-state:from:to:cc:subject:date:message-id:reply-to; bh=BI9KG26m9xjN9k6dbGw+O0NB/svh8sdwPuBKvebFKKY=; b=eVzCnME7LxL1R4R1Zj9oVd4iROIycKcneNGebZW0bPTVtQNNX0kjOoQ0q9EXi8hyuZ p8PL90BRRN1B1LaaIJiAbJ2pI23rflskAZOD+R6rbigF8TsSAuhaOIWdQDD2z6QCJ7yB RT5x3cB2tJyFVz/adceZmX+CduMLTC0GZCLqn6sO07MbLwVzyWEliKZ1uXIQscM5Wa5K my5wurKSKaAQTIVu0wGzl3vTsKXHFP50iKYgr4dwr2jQI7vJO8bquwGCJacVkZdcm+hu nHQ1tGVzIOfHMCZ3CmCrKhhoy0qXjcifFzKRTV6Fuz/TYgnfhHwIe8iqD5svYqeMbpru WbsA== X-Forwarded-Encrypted: i=1; AJvYcCWSw1U05dwMYJZkBX85YxEJGPQESQ7SemlYfgYQt4VhUCjaC+gAeiSqzB2DVDX2HTfhu4krDn5fGw==@kvack.org X-Gm-Message-State: AOJu0YwU17MRdmjzvMPq15iWrdkVFsF+zlZ53wGfqXRAy9qxmHkYpuhD ZIZWKdq8NXvAc1T7fExXoS4fbQUWVRDZ5dMARewXG5rcKkjE4J6ouPLMWWmvuWY= X-Gm-Gg: ASbGncuksRdk0DW2t74lERAtkPoajlkZODZqEumNaaQaWD3nHQTdi0pRKtZ++NWRdL3 HiwPvBm/KoEidB4hMjqjJUVf3+ldA2fV5LADxnfW8SJ9eOLUxIJtLiAlaOAPHCSpDUirSUbmqNT AWZ51x9os2TOqOt4NTQ9K+CTqp5DV421rdJTxUFcDI42N/DyXumDmdodtsmaIqn0B3X/Epq1chs hIvWPNWahCAOnLUN+v463fZuYioiB90r9daHbqljbF6WcxfZyYd2aOyuD2Yl+9uuvU5IatNw5Lv pyM+FjjXZF6wsuv5ZaKtuqC0nA7Sga4EQaOOgg== X-Google-Smtp-Source: AGHT+IGFUtqoZyoWSfs3yKraYI/uOz+4B4kDE1UUkceCkMGC1DfmqmAIi/faS6XWXrDcN0tXD6ot6Q== X-Received: by 2002:a92:cda5:0:b0:3d8:1d7c:e190 with SMTP id e9e14a558f8ab-3d88ed79da8mr170240475ab.7.1745339556060; Tue, 22 Apr 2025 09:32:36 -0700 (PDT) Received: from [192.168.1.150] ([198.8.77.157]) by smtp.gmail.com with ESMTPSA id e9e14a558f8ab-3d821d1d7casm23248195ab.10.2025.04.22.09.32.34 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128); Tue, 22 Apr 2025 09:32:35 -0700 (PDT) Message-ID: <14195206-47b1-4483-996d-3315aa7c33aa@kernel.dk> Date: Tue, 22 Apr 2025 10:32:34 -0600 MIME-Version: 1.0 User-Agent: Mozilla Thunderbird Subject: Re: [PATCH v2 1/2] io_uring: Add new functions to handle user fault scenarios To: Zhiwei Jiang , viro@zeniv.linux.org.uk Cc: brauner@kernel.org, jack@suse.cz, akpm@linux-foundation.org, peterx@redhat.com, asml.silence@gmail.com, linux-fsdevel@vger.kernel.org, linux-mm@kvack.org, linux-kernel@vger.kernel.org, io-uring@vger.kernel.org References: <20250422162913.1242057-1-qq282012236@gmail.com> <20250422162913.1242057-2-qq282012236@gmail.com> Content-Language: en-US From: Jens Axboe In-Reply-To: <20250422162913.1242057-2-qq282012236@gmail.com> Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 7bit X-Rspamd-Server: rspam06 X-Rspamd-Queue-Id: 26AEF18000B X-Stat-Signature: prkzh5gu7at68k38trhjwphektnft3n8 X-Rspam-User: X-HE-Tag: 1745339556-800195 X-HE-Meta: U2FsdGVkX18872rwuqFU7HpmdmnsAK4cd0HAaDgBwqHOfGcO75xNm1fO2SqGeDbOkaYGKKyUu2g/Jw+FBYhVcwRRVYReX5ohn7N88WRXMsZB5FFj4peH4hPVqEIi5xvx1x6aT7tLG5cwwLRdtM2f8okI3hE2udP2NECjnZZZa+OFJpjH7BxRac8TYyGV4jMvpbrbMdGbLWJ+Zgyg6iVZIQWQc2V2gTa1plBt6sRqqV4AjwVX1N4ICcLgyY4brBozb0LFILGLUvQPiAGZVaq7bHUEln+nU/mt+3gep09ucKAmWDPyrM084z8v8uYmlZseKx7si/efMMU2e4gkgAPdHlSvqspWeNrdlf3LNaHyfC+lJSiGfueWkD3OL9ibGBaaen97xZhYXGSlVlJfQgbMZZBI4fC+BCF7nyLY0u86x/E7f3My2kCwUcHVIe7XuIDb3ar5rypWPmVTLb2zAdLgguKJvfxmTlkWVsDW7Ry6MsRu1ter4zkF6G84ui7TqWDUC5UhKoIPDGD2VlkLVwxx0/NEYl6KXDbQ5exIUZHc3ja2CCy+sM/M5V03xR0krhmF+MKa7MV3c9sZSJgC83bZhV1v92I+u6h5efhJMYjLl9IxGw0AXyHXsvgmsPP/H93UgSRRJCFC+2fnlR0XHXZjYhOw1/FlLgVYnatck1QKyHKw4qjrJ/LMPFjfhONhmU35AElPYLTzTtl4j7QdTlr6Z3sVuRIMUdpiSVL3L1AKkURqBYdbyp0oNIrJ8XiCNzNYWt2eN6FN/0A+seCZXKBz5cBEYmfoFuKvBdkFnWCAwOjdY8MqwZM5xO1hmnjepr+F65mGqt3ivscgq0bkjbKoT17k64eOW08cogtfZ6T7+Bt5/EOLPTTqG8++uh4nvZ57KUczCklxkoo/JNulhgDvl1mBP4Ze79dSh3PaVusoZcSyp2IR4aTVn/l36O3YNbqk7MnhnPh1ujqNrn/NAOC TgVTTbg/ WWrOGoVr1z8+3UOiJD7BKKdjj3TnbNQ4sAUCUxOQ5eFnXNu1nyHgyMYWuLOFJt8cMJewMgB92r0+wqm76Ip+YsksASJ3r25P1Wm0Rndbcj1j6TZ+R+0c8CI4hZw7D00/bqcwa5LsFe7vbDPtnAHqIufINkt8JaOIijgiosPSYuAyCDwZRm26MbkGmdBDPplDsterwBDk4Y2qy/htvFoJhsoDo42Vtc/e4lDI6ONubWmTjh8yRfesbvl4+0UG8emXTdzwQqxux3Nj/kp/czWkNE6N+bCAYRuS6e5FnfZ2eerBWC54Bzu8gmd+N+GMYveC9zLtUS4b7cG7wQCb05QAid2uaPnWeU4EIlhf4UNCq+PjDtw9mVxHMDpZhRfkoSk6Ok0mm4KgQPukT579S02YUjfpBgshLBCqjzarpxx6QaIBsgt/6yBGUPvOzUQ/9bQkh1664p1/0/CfMLE00NOFr6HfjnAhMc7H+aADU 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: On 4/22/25 10:29 AM, Zhiwei Jiang wrote: > diff --git a/io_uring/io-wq.h b/io_uring/io-wq.h > index d4fb2940e435..8567a9c819db 100644 > --- a/io_uring/io-wq.h > +++ b/io_uring/io-wq.h > @@ -70,8 +70,10 @@ enum io_wq_cancel io_wq_cancel_cb(struct io_wq *wq, work_cancel_fn *cancel, > void *data, bool cancel_all); > > #if defined(CONFIG_IO_WQ) > -extern void io_wq_worker_sleeping(struct task_struct *); > -extern void io_wq_worker_running(struct task_struct *); > +extern void io_wq_worker_sleeping(struct task_struct *tsk); > +extern void io_wq_worker_running(struct task_struct *tsk); > +extern void set_userfault_flag_for_ioworker(void); > +extern void clear_userfault_flag_for_ioworker(void); > #else > static inline void io_wq_worker_sleeping(struct task_struct *tsk) > { > @@ -79,6 +81,12 @@ static inline void io_wq_worker_sleeping(struct task_struct *tsk) > static inline void io_wq_worker_running(struct task_struct *tsk) > { > } > +static inline void set_userfault_flag_for_ioworker(void) > +{ > +} > +static inline void clear_userfault_flag_for_ioworker(void) > +{ > +} > #endif > > static inline bool io_wq_current_is_worker(void) This should go in include/linux/io_uring.h and then userfaultfd would not have to include io_uring private headers. But that's beside the point, like I said we still need to get to the bottom of what is going on here first, rather than try and paper around it. So please don't post more versions of this before we have that understanding. See previous emails on 6.8 and other kernel versions. -- Jens Axboe