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 2E810C77B78 for ; Wed, 19 Apr 2023 16:59:33 +0000 (UTC) Received: by kanga.kvack.org (Postfix) id 7E6586B0071; Wed, 19 Apr 2023 12:59:32 -0400 (EDT) Received: by kanga.kvack.org (Postfix, from userid 40) id 796366B0072; Wed, 19 Apr 2023 12:59:32 -0400 (EDT) X-Delivered-To: int-list-linux-mm@kvack.org Received: by kanga.kvack.org (Postfix, from userid 63042) id 65D68900002; Wed, 19 Apr 2023 12:59:32 -0400 (EDT) X-Delivered-To: linux-mm@kvack.org Received: from relay.hostedemail.com (smtprelay0016.hostedemail.com [216.40.44.16]) by kanga.kvack.org (Postfix) with ESMTP id 573CB6B0071 for ; Wed, 19 Apr 2023 12:59:32 -0400 (EDT) Received: from smtpin08.hostedemail.com (a10.router.float.18 [10.200.18.1]) by unirelay10.hostedemail.com (Postfix) with ESMTP id 115A4C03A6 for ; Wed, 19 Apr 2023 16:59:32 +0000 (UTC) X-FDA: 80698751784.08.55FBB7D Received: from mail-pl1-f171.google.com (mail-pl1-f171.google.com [209.85.214.171]) by imf27.hostedemail.com (Postfix) with ESMTP id 18F434002C for ; Wed, 19 Apr 2023 16:59:29 +0000 (UTC) Authentication-Results: imf27.hostedemail.com; dkim=pass header.d=kernel-dk.20221208.gappssmtp.com header.s=20221208 header.b="XzJ1HS3/"; spf=pass (imf27.hostedemail.com: domain of axboe@kernel.dk designates 209.85.214.171 as permitted sender) smtp.mailfrom=axboe@kernel.dk; dmarc=none ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=hostedemail.com; s=arc-20220608; t=1681923570; 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=GZA/Y2Xcvpydl47ecxb70c5FYkq2jeab6dGCHqHNDLM=; b=C2bVeyzLragHtupO7/X9B5tNBXhmJkUxrS+spfZNIF6JPSO1OvEUVSWwb7S9da0sEyOAvE Ls8Tcw3ZEdvAlgEK/wNSQk7jgMy3Z9rn+yRr3Yxu8QU0KAT4i/iHqzIY2ss86g8me4TBFN TL186weeT0x6hf7qWhrP79zTLFnbAwQ= ARC-Authentication-Results: i=1; imf27.hostedemail.com; dkim=pass header.d=kernel-dk.20221208.gappssmtp.com header.s=20221208 header.b="XzJ1HS3/"; spf=pass (imf27.hostedemail.com: domain of axboe@kernel.dk designates 209.85.214.171 as permitted sender) smtp.mailfrom=axboe@kernel.dk; dmarc=none ARC-Seal: i=1; s=arc-20220608; d=hostedemail.com; t=1681923570; a=rsa-sha256; cv=none; b=2jVjmegAqoRhL30aQzGaFzvA/VFyiWcRiMtoFHYjFZ1dPW27wJSUA8GI8E6njTtgYpoZ48 jlwIUAgggKzUmWLL7wOQYZgN4bwo950jNNw1pnPoerKJsk3L4QZIiDSxYG5KV7DeDfh+jP CqklilkjT7HJT0UE6oUctmq87gZbju0= Received: by mail-pl1-f171.google.com with SMTP id d9443c01a7336-1a7111e0696so375735ad.1 for ; Wed, 19 Apr 2023 09:59:29 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=kernel-dk.20221208.gappssmtp.com; s=20221208; t=1681923569; x=1684515569; h=content-transfer-encoding:in-reply-to:references:cc:to:from :content-language:subject:user-agent:mime-version:date:message-id :from:to:cc:subject:date:message-id:reply-to; bh=GZA/Y2Xcvpydl47ecxb70c5FYkq2jeab6dGCHqHNDLM=; b=XzJ1HS3/fHRLsOUi5jteCYlLIRtuVLu997uZN/qGqPd6zMDOa8KMT5WStPJuEf/gs0 Wpa4XHqd48KpIIcr4U5Q1ETw4ixS2x4TNAUBa5uVY/dWirkK9vkjEpk2CUyL7jpJ8cFf 0HxDu50X8eO7z2xnWVhyls5YoqwZVE3mEKSKA6Y5ZciI9xYo9VPGInsWwK6WfgXFBj3N xq2SPGIxhEKidNtEh/iKm/wSnFQ3wA08rI9A64MtAN0M1uIORdfkkml8Afr/YRt8W0Gl E7VuMGz1QJzcqy4O0jkeMge2wNTWvSZKBa9e7JomIbf0R2Q3T6pPbOlfCJSMYXDojjKU owRA== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20221208; t=1681923569; x=1684515569; h=content-transfer-encoding:in-reply-to:references:cc:to:from :content-language:subject:user-agent:mime-version:date:message-id :x-gm-message-state:from:to:cc:subject:date:message-id:reply-to; bh=GZA/Y2Xcvpydl47ecxb70c5FYkq2jeab6dGCHqHNDLM=; b=Q+CC0qUf8HSTpPTa7roaAdooFo6gM289LehUSFPqM6wE6sk2lcsTPTbt3f7HoEuVWL LnFQeoQHvfMZvztMJ8RXeiK0YFIWz2OSTT1SVkMaR1Lg5P9QOoPODVBsl7H7JhGad0YI H+EKxid3h6tHaMyfG+HpWGYEyaesFCLAWiHvxbcmNCkKLktjDa5qnWTBBbbWke6eDM+e Y06ih8mT/OO7pe+jzDpiYDxYaK7i0y5MW5zzGgQwr+emUukPO4mjLRxcRM5SOwyaipI6 TdAtM3KN8LifgN0Q3u6r/Bj8bxVI4RHX2I3bdGtaXBBCBZepsv6aZ6RWmkSPLkSs/71u 4TgA== X-Gm-Message-State: AAQBX9dA+H6+tOdTP6ACLLgEdFRJ11IUqZFm15KpOPn+Gus9dvXyYOss wxeEEBV58PPW0jz2Fp2kiYdQaA== X-Google-Smtp-Source: AKy350aamir0cPVa7O53h6wHMNxFh+fRJJlOQij5wyUIks3kjZ3NbBXKg3I5OtxJn3qCySkm+Depxw== X-Received: by 2002:a17:903:11c9:b0:1a6:6bdb:b548 with SMTP id q9-20020a17090311c900b001a66bdbb548mr22281935plh.1.1681923568889; Wed, 19 Apr 2023 09:59:28 -0700 (PDT) Received: from [192.168.1.136] ([198.8.77.157]) by smtp.gmail.com with ESMTPSA id g7-20020a170902740700b001a0448731c2sm11655079pll.47.2023.04.19.09.59.28 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128); Wed, 19 Apr 2023 09:59:28 -0700 (PDT) Message-ID: Date: Wed, 19 Apr 2023 10:59:27 -0600 MIME-Version: 1.0 User-Agent: Mozilla/5.0 (X11; Linux aarch64; rv:102.0) Gecko/20100101 Thunderbird/102.9.0 Subject: Re: [PATCH v4 4/6] io_uring: rsrc: avoid use of vmas parameter in pin_user_pages() Content-Language: en-US From: Jens Axboe To: Lorenzo Stoakes , linux-mm@kvack.org, linux-kernel@vger.kernel.org, Andrew Morton Cc: Matthew Wilcox , David Hildenbrand , Pavel Begunkov , io-uring@vger.kernel.org References: <956f4fc2204f23e4c00e9602ded80cb4e7b5df9b.1681831798.git.lstoakes@gmail.com> <936e8f52-00be-6721-cb3e-42338f2ecc2f@kernel.dk> In-Reply-To: <936e8f52-00be-6721-cb3e-42338f2ecc2f@kernel.dk> Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 7bit X-Rspamd-Server: rspam05 X-Rspamd-Queue-Id: 18F434002C X-Stat-Signature: xbtjitwymxxhdnpuwkxiygjaiwqeosif X-Rspam-User: X-HE-Tag: 1681923569-756398 X-HE-Meta: U2FsdGVkX1+1uuthYokgeaK5+N32tPmsSLVQBhV4epUWtg3PUPVm22D2zB+pTweLjE2hmNY0ATwhOnnpd4Iw4PME12/YPxvAINC04ONnvHyDcHX6C+68mbqfqXNfiqLKY/ZBE7rMUrm+pPGM0z6sTn4C89HUACkS5UX+jxN1IJ99f4fwCNt9m10L9e85CasDKq00u3Vi1KXt5cml99T9pDgE+6/igAnJ0Og1LJ+2UI17XBzSMoZUa61eRxj9tqwHP/B7wD1fW3NcAA8J9y3ttBXHiBtitqGm28XCm0ZHK+pF+Kkyf66mNEo7yD2XIOruTP2iEbPoCu4qwbO4gnBsszbLClAFO31U8wPF0bpk36l50mR0pIZsEkp4ugp0cYU7ZcDjgiEmXTdvDCSNRcHqX9Ma9DCt64l1dwkvPMJeNjxvScd01f5IWoGjse4T4uzif0AlCK2+iV1wRDeQe/9Wax8Vr2boWpzGg6dbnsKaib/mXRc9iqpTbN7LnTJlITb6JpI/ireNzhXZ3lfaZA+asIgnBjZry4eMoM86rNW2uI6sQ2ryaMFjAzQfXVcTVPhldNXdsZjs9fpDXoknFlx7w6pWM+MXbR3wMXlhSG0Ys964+4hRLVOLpSU4M+U6Nc++lrdtIyTT/JQjWpX+JJSdSgheQDpLl5VHjBB/1/hKINo01yVuk9vYwaWrpCS0c/oPmnYTIPA9Sq0sTdaZiwsNLXti+FPl9ZJr5W9fi03/wxQWU2xtuzPzJy2zEpIuso5uLQ1G7U1jgwQVYUbJu3jEAdmWLg6IM+VCaYeR5J4Vf++scKBJdaiGwrRYoFRg/r29xONf82xo3vyKPjjrRE6Hfv2u+i2EgYxqu+xVo2fkp+1IEUilLfCugDtbQj5qM+X6MiBTlDXp6RTf+mMtdEZVXRrXOosHdL64MC2p0DkTD3MihtzyXOOrgSgGisIS3O4Jgrgb990eFe3fRstji5N qDMXuyh6 AnfvDeORnX6AYX90Bzwxi6CnE2oT2hYR2AR9+Mgwvnn/3of70kbrcnQQoC2cgJ09vyay0nKbh8GBoOQarMadaQISjH+07e+BYsxBPOJPa89jrERUNHBUi6JKcoepW8XDCmUDcnQRWHJM36n0j4Kuzub90NsUkyWe4rVKw2x0fECX97dxQ9RuR5RZ3zs3PYy1cBlTqp5YvSa4UOIGcpT2wTMFRo0UD+2f7+6JNxiB37JHmEpsiAii8vRmQC5hXS7b769/9f3D2+yo+1ui3fImYyeNWxeeKhQU3lvfQM9+IhyNODYmI/WCO4B/sIJ6YxDmj4pWGH9CQYH3el6Isun50+yYt6w9R28aDJCC0/0TNb3ZBZXn9z0Zaqott/tXAW4mn7TTeAQnieDEXESZ5yl3fCrtt35Z5aTaqPA+qwsfMvuHcAGYtMDEepAv6nsUhAWI7pLIHqQK0bTRSIBUgs6YPyTFSNGmX8w0n1h2lZoiAhfJc5fkCQK5Xip8iPPSAmvmtpRXVJzPAnzUCwlA= 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: On 4/19/23 10:35?AM, Jens Axboe wrote: > On 4/18/23 9:49?AM, Lorenzo Stoakes wrote: >> We are shortly to remove pin_user_pages(), and instead perform the required >> VMA checks ourselves. In most cases there will be a single VMA so this >> should caues no undue impact on an already slow path. >> >> Doing this eliminates the one instance of vmas being used by >> pin_user_pages(). > > First up, please don't just send single patches from a series. It's > really annoying when you are trying to get the full picture. Just CC the > whole series, so reviews don't have to look it up separately. > > So when you're doing a respin for what I'll mention below and the issue > that David found, please don't just show us patch 4+5 of the series. I'll reply here too rather than keep some of this conversaion out-of-band. I don't necessarily think that making io buffer registration dumber and less efficient by needing a separate vma lookup after the fact is a huge deal, as I would imagine most workloads register buffers at setup time and then don't change them. But if people do switch sets at runtime, it's not necessarily a slow path. That said, I suspect the other bits that we do in here, like the GUP, is going to dominate the overhead anyway. My main question is, why don't we just have a __pin_user_pages or something helper that still takes the vmas argument, and drop it from pin_user_pages() only? That'd still allow the cleanup of the other users that don't care about the vma at all, while retaining the bundled functionality for the case/cases that do? That would avoid needing explicit vma iteration in io_uring. -- Jens Axboe