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 B9C4FC6FD18 for ; Tue, 18 Apr 2023 16:36:37 +0000 (UTC) Received: by kanga.kvack.org (Postfix) id 070768E0002; Tue, 18 Apr 2023 12:36:37 -0400 (EDT) Received: by kanga.kvack.org (Postfix, from userid 40) id 01EA58E0001; Tue, 18 Apr 2023 12:36:36 -0400 (EDT) X-Delivered-To: int-list-linux-mm@kvack.org Received: by kanga.kvack.org (Postfix, from userid 63042) id E28ED8E0002; Tue, 18 Apr 2023 12:36:36 -0400 (EDT) X-Delivered-To: linux-mm@kvack.org Received: from relay.hostedemail.com (smtprelay0011.hostedemail.com [216.40.44.11]) by kanga.kvack.org (Postfix) with ESMTP id D56448E0001 for ; Tue, 18 Apr 2023 12:36:36 -0400 (EDT) Received: from smtpin26.hostedemail.com (a10.router.float.18 [10.200.18.1]) by unirelay09.hostedemail.com (Postfix) with ESMTP id A6F8C8032C for ; Tue, 18 Apr 2023 16:36:36 +0000 (UTC) X-FDA: 80695065192.26.FD224A6 Received: from mail-ej1-f45.google.com (mail-ej1-f45.google.com [209.85.218.45]) by imf28.hostedemail.com (Postfix) with ESMTP id A7C8CC001A for ; Tue, 18 Apr 2023 16:36:34 +0000 (UTC) Authentication-Results: imf28.hostedemail.com; dkim=pass header.d=gmail.com header.s=20221208 header.b=UJTmwTLf; spf=pass (imf28.hostedemail.com: domain of asml.silence@gmail.com designates 209.85.218.45 as permitted sender) smtp.mailfrom=asml.silence@gmail.com; dmarc=pass (policy=none) header.from=gmail.com ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=hostedemail.com; s=arc-20220608; t=1681835794; 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=firv3UGoqvxYldJ99Jk2hJXEsEXc9axyjdwnWEFhPRU=; b=qy4XSLFTntQjjvFVOlqJt1I0MiFBX+sVZ2h5zYV3noxzPcVgdV4ITiEUngwQREFfxkzL3c Pyd+P80vJzeDr3eyF//jM/S80gXy0O8YMT821B+zmaLpGFI7Hz6/Z5lBuz5mgpZaJipW4J xdaUNY+V3LiAFeCfYHSZcxvKijni69w= ARC-Authentication-Results: i=1; imf28.hostedemail.com; dkim=pass header.d=gmail.com header.s=20221208 header.b=UJTmwTLf; spf=pass (imf28.hostedemail.com: domain of asml.silence@gmail.com designates 209.85.218.45 as permitted sender) smtp.mailfrom=asml.silence@gmail.com; dmarc=pass (policy=none) header.from=gmail.com ARC-Seal: i=1; s=arc-20220608; d=hostedemail.com; t=1681835794; a=rsa-sha256; cv=none; b=qCh9JLLAFQ+t91sFWhkzEtRl39/K2JN74rCEjgr1+0qacCk7HR5a9lPg1r0cmJwDFMvieh IJMXOH5NbuDtZ+vF+rZwIUZh8XY9UBagdLj1BI2zpmVfVvbmspwZn/Pa+JvBrIsF6+k6cI ADL6Kh89MYBiJbEmiTQ9tXpgd8LECjc= Received: by mail-ej1-f45.google.com with SMTP id u3so22792987ejj.12 for ; Tue, 18 Apr 2023 09:36:34 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20221208; t=1681835793; x=1684427793; 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=firv3UGoqvxYldJ99Jk2hJXEsEXc9axyjdwnWEFhPRU=; b=UJTmwTLfK7gzjWpk59vzvefvASBiulJ0QkWTf9/qX8GjD3/AoUPvgl1CYbUl+TC4Iv jAHDd7WOsIsQ8NxHPjR2p4CZJoSUw+iYbhCR7kkNe0qJ2iOp5jen5CpS0t2P3gABceHe x6WFwuQNVSyFUIe7effWCKF3PQ317mgoIdSb2h22Ao2QxGIf4vH5FHyBBq7tUQuoDBil KcJux8IYwGER7tKimpE0+WKeEpcJiZnBiqnRkr8tMf1G5uF6okVXObvMyJAXoVt42cmF 5A8DBppQvHpu4bMZ1Qm9dqkn0pEkU3Au9pu1rHjOgxgoQdCmupH9GRp2DdN/ygDJuUq7 xs4w== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20221208; t=1681835793; x=1684427793; 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=firv3UGoqvxYldJ99Jk2hJXEsEXc9axyjdwnWEFhPRU=; b=ImexJyLtJex+j1lvQtL7HDAk4Js3BETACbz27gjKJWqW5Ua+P3zKHACyFv3m2pNE3X drF9X4u8JAgcwxszs3wbdYG9eYCa6n31VehM9jgok1QupOgRlcHCeXwpS0M6ERyTva44 2CZBI6WfAikqloDHQ1fZSlcjomEcg/3WYAg+jtnBYnTeXj2mj2k+UUlYxlhxgxACdfs+ VLbTSZMX3xs8oV8j1AxrxuLeBfFm66C5bBXq41cvpA/KJxVgLyJKV9sAQsRuTWFxeNUS ZIYHc8BtDyHd2e260exbMvemlG5Nszf0p5/6DYa5X3OrPTD2ez3+CnlOSN3q4L0lDrSb c5cw== X-Gm-Message-State: AAQBX9eniHFCP4YO8XPtAs3tXlWQxS/B/uz0FBfjbzHiqdPLgNfQ3Q99 JgzWvHTEPGoR0CZF3AKGTTw= X-Google-Smtp-Source: AKy350bSVkwIygyfzsyibROo0o2+stVppG2cHS69Tg/Fd9UOby1gJOwpgHPMrBPqoP43v/jaT+hzUw== X-Received: by 2002:a17:906:6dc4:b0:94f:ab46:77f9 with SMTP id j4-20020a1709066dc400b0094fab4677f9mr5288124ejt.15.1681835793029; Tue, 18 Apr 2023 09:36:33 -0700 (PDT) Received: from ?IPV6:2620:10d:c096:310::26ef? ([2620:10d:c092:600::2:5697]) by smtp.gmail.com with ESMTPSA id rp26-20020a170906d97a00b0094f3132cb86sm4836485ejb.40.2023.04.18.09.36.32 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128); Tue, 18 Apr 2023 09:36:32 -0700 (PDT) Message-ID: <16b33cfe-acb2-760e-7e87-8a837f84fc66@gmail.com> Date: Tue, 18 Apr 2023 17:35:48 +0100 MIME-Version: 1.0 User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:102.0) Gecko/20100101 Thunderbird/102.10.0 Subject: Re: [PATCH 5/7] io_uring: rsrc: use FOLL_SAME_FILE on pin_user_pages() Content-Language: en-US From: Pavel Begunkov To: Jason Gunthorpe , Lorenzo Stoakes Cc: linux-mm@kvack.org, linux-kernel@vger.kernel.org, Andrew Morton , Matthew Wilcox , David Hildenbrand , Jens Axboe , io-uring@vger.kernel.org References: <17357dec04b32593b71e4fdf3c30a346020acf98.1681508038.git.lstoakes@gmail.com> In-Reply-To: Content-Type: text/plain; charset=UTF-8; format=flowed Content-Transfer-Encoding: 7bit X-Rspamd-Queue-Id: A7C8CC001A X-Stat-Signature: g3x544udfna7htcmksgaxa5s3tihsa5z X-Rspam-User: X-Rspamd-Server: rspam08 X-HE-Tag: 1681835794-498175 X-HE-Meta: U2FsdGVkX1/oq7VnMKrpRucxM0+67nl2/d5jLv+UKh3eIwQ+69LuZD3KHF7hC8wfP9NTKXzp+8HOdORWcZd+kA+mOr1bPwPVg1SyXA/oploYLQl9/iOrGnpLEoBZPKPUe0P/ZC2kr3m1o08Q2hbT0BLvjBNLQ4KHeasxCUGZvmkSEOdyoouDrA5HZGehnbmBkBKObg4+82f8etSoJDehoPoZnp81AyNyQtGZH9UmqLF+ec9d0YPlP6BuUNsGwOh8NSFUDcvT2yZ0zmHdCJCO5e1BUnHVlfkA90K8YNyToBZLJSikWn2rsFE6opSWOLeR1xxvp5uDl9cHgUdyWTRyaZDhxbojJjWYM96xdpn7h+7K6aB+wzd4nKCjaDjyc9o/VkqYNKAGUWkkc/RWdUn3kKyFlcnM+nOWS3BBmRAfr0z/T154Rw2nd+984zoMnR+Q+kCHqRIth1G1P3UkPWDEl4k+AV5scQ2cu+gh6fK9nW/dyXGnCUtcfyEPXO8YOGkkxYzKIQP3iTMYfPak76KIOLjAr6YkGvzDA9hlcRUGhOJqRzZ/ILhTZg8WiUyMeETAtwoT6wGDfTxgV20+oAXog0sE0A+UzyWzbk6PWK5gA3jndO7rQsINr/xTFAGlL4qRTJFlyqDhFj1CIcqBdAGoW4ntwum76rHcaWU6D/k2mvu/PrSHi3zL5INwLIOutojfgkE1/abTfyTnYztFoJ0dC+nN0t5VOLW7keshJ5uS421xy4ENN13Tc21Mq0WwXM0xKg2aSrWBUeqoTFmrJnk/fbHUbqBmJTckH0+ImsewiwpiSA79sUdQAea7Eq24HEHmmZrbWQd9UjjDaN/mVbolekQEzdBAo+CYKNydBeFsTAbtmPznT3BghcfgTiLIfhsU6SWRX3P3NFqXi4selxX8KJEeQg6rVP3dgrRznxag4cYetm03/lI+/EeICcvBv2lM0aIHl2vfkhRYqcz0uVq nUKGGbRt LMUEorq0cH7ApXtFuMhuoCdfAwA/qWBDY2it/1f+LpcoV2b8G/kIoWuj2lD5TI7mVENrhSSUHWJRR4x/KZTzvM7o2Q0Ce7rbAP0F08d1SrVEBxzMuf59hJ6N5nUEDRRBj0+B2cu5DseJ8VJVAm+gJlHN7QyUzbI5zMycKUKovERp6WNxFOiIynE0Z1Tnaw6NJ2P/pNEBw+LhJmqUioEi7Qbqo28jyu2wkt3ohSZWRVlJfcsEQuCKfzEU86JkAcVvOCxbHsdeYmfTOVsnNZJuv/35uUD7kEIt5jLWekFJtnrX9XXdBOidNQjGeDiv86X8yINPQ6WW4oxzhAFmfa3VAMzI4Ui525LWeGpyW3iiqKdZdiJjPYHzk1AGmDalpo5jwDbe2CpH+gfUBBZqBU/sAZZxvSMuqXnU4vJS47DcOmMERGxSbID3WVV7Ge9OlIKl13JjPYPS6v1g4ZxlYRL/3TEFITdrlbjUMPzaTd+O2eTJUV1vB3do+wsc6wjpam4aRptW4JhDjE6YK4XnOF13jWFCk0w== 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/18/23 17:25, Pavel Begunkov wrote: > On 4/17/23 13:56, Jason Gunthorpe wrote: >> On Sat, Apr 15, 2023 at 12:27:45AM +0100, Lorenzo Stoakes wrote: >>> Commit edd478269640 ("io_uring/rsrc: disallow multi-source reg buffers") >>> prevents io_pin_pages() from pinning pages spanning multiple VMAs with >>> permitted characteristics (anon/huge), requiring that all VMAs share the >>> same vm_file. >> >> That commmit doesn't really explain why io_uring is doing such a weird >> thing. >> >> What exactly is the problem with mixing struct pages from different >> files and why of all the GUP users does only io_uring need to care >> about this? > > Simply because it doesn't seem sane to mix and register buffers of > different "nature" as one. It's not a huge deal for currently allowed > types, e.g. mixing normal and huge anon pages, but it's rather a matter > of time before it gets extended, and then I'll certainly become a > problem. We've been asked just recently to allow registering bufs > provided mapped by some specific driver, or there might be DMA mapped > memory in the future. > > Rejecting based on vmas might be too conservative, I agree and am all > for if someone can help to make it right. For some reason I thought it was rejecting if involves more than one different vma. ->vm_file checks still sound fair to me, but in any case, open to changing it. -- Pavel Begunkov