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 C6942C433F5 for ; Sat, 18 Dec 2021 02:43:01 +0000 (UTC) Received: by kanga.kvack.org (Postfix) id 4CEB86B0072; Fri, 17 Dec 2021 21:42:51 -0500 (EST) Received: by kanga.kvack.org (Postfix, from userid 40) id 457896B0073; Fri, 17 Dec 2021 21:42:51 -0500 (EST) X-Delivered-To: int-list-linux-mm@kvack.org Received: by kanga.kvack.org (Postfix, from userid 63042) id 2AA376B0074; Fri, 17 Dec 2021 21:42:51 -0500 (EST) X-Delivered-To: linux-mm@kvack.org Received: from forelay.hostedemail.com (smtprelay0097.hostedemail.com [216.40.44.97]) by kanga.kvack.org (Postfix) with ESMTP id 141B26B0072 for ; Fri, 17 Dec 2021 21:42:51 -0500 (EST) Received: from smtpin27.hostedemail.com (10.5.19.251.rfc1918.com [10.5.19.251]) by forelay02.hostedemail.com (Postfix) with ESMTP id D4A028A3D7 for ; Sat, 18 Dec 2021 02:42:40 +0000 (UTC) X-FDA: 78929366880.27.7A161B7 Received: from mail-lf1-f52.google.com (mail-lf1-f52.google.com [209.85.167.52]) by imf01.hostedemail.com (Postfix) with ESMTP id 115BE40039 for ; Sat, 18 Dec 2021 02:42:34 +0000 (UTC) Received: by mail-lf1-f52.google.com with SMTP id b22so8319450lfb.9 for ; Fri, 17 Dec 2021 18:42:40 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=linux-foundation.org; s=google; h=mime-version:references:in-reply-to:from:date:message-id:subject:to :cc; bh=9jN5Qo9OmGdr7GkJXFJ/7dRf4VAnfjuaoxF0+TxkUas=; b=eMQrMU/k6WAjpM93HgUXoLPOODR7Bdjr/gxuYigtV4MzSWBzsXRRsW/yvNCxfNTUjm DKRa9Up5lhKzKyyO8YGQZyuLa3xSt30V6gxCslPMPfkb0p25DiB8t+co6zufTut5uZvv GaoQ6d+YeUTc8df1kdde0nBzX7Uk/Y/qWfiuc= X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20210112; h=x-gm-message-state:mime-version:references:in-reply-to:from:date :message-id:subject:to:cc; bh=9jN5Qo9OmGdr7GkJXFJ/7dRf4VAnfjuaoxF0+TxkUas=; b=PZJr+oFHXN9Q3uqniz6k2nJHKmEE95Nru6UPejnDqmaJxUTLI/FWE3umM6cLabQpHb 8k7NbmEJQ6CcFnLI3PH391ku7MDcsTsO2Diubg9Ds9YJSzURrA00Ano42tdWcN4K/rAX ks4zVD+wDLXax07afbj/OXZh5pEJ/Fq+K/nj/ciFYtVToGLpm/voyh1LSpF6C4ogzWxN skWhF3c2v+TW07RjCeTbCcIxNtxDsO4f8YeU7+u13u5JS7sWLIspD25D0rPgiThs8D7L +N5mrZJKon6wIPplWXrETAPbdCQmb+8mhcJ0Q6+sSBJ8riPGwk4qJ7+nqVbiL7CsgEiD 438Q== X-Gm-Message-State: AOAM5337acwMXPWtce52CeAWS7A31MLtqJVqZpEbxAcBPVCODn3K3idi 8j51+MtbK0bePAB2PTavDg4eHgJYazU7msj0eXc= X-Google-Smtp-Source: ABdhPJzaD7Pbe0HDBGBtTdENMeQgZRWkEN62WmZqpLmPtFJ/UjJXQwoh8i4D8qP3CyGH1iEvzNIcsg== X-Received: by 2002:a05:6512:3b11:: with SMTP id f17mr5511147lfv.374.1639795358743; Fri, 17 Dec 2021 18:42:38 -0800 (PST) Received: from mail-lj1-f176.google.com (mail-lj1-f176.google.com. [209.85.208.176]) by smtp.gmail.com with ESMTPSA id bq18sm1583098lfb.88.2021.12.17.18.42.38 for (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128); Fri, 17 Dec 2021 18:42:38 -0800 (PST) Received: by mail-lj1-f176.google.com with SMTP id m12so6159010ljj.6 for ; Fri, 17 Dec 2021 18:42:38 -0800 (PST) X-Received: by 2002:a5d:6211:: with SMTP id y17mr4597536wru.97.1639795347544; Fri, 17 Dec 2021 18:42:27 -0800 (PST) MIME-Version: 1.0 References: <20211217113049.23850-1-david@redhat.com> <20211217113049.23850-7-david@redhat.com> <54c492d7-ddcd-dcd0-7209-efb2847adf7c@redhat.com> <20211217204705.GF6385@nvidia.com> <2E28C79D-F79C-45BE-A16C-43678AD165E9@vmware.com> In-Reply-To: From: Linus Torvalds Date: Fri, 17 Dec 2021 18:42:11 -0800 X-Gmail-Original-Message-ID: Message-ID: Subject: Re: [PATCH v1 06/11] mm: support GUP-triggered unsharing via FAULT_FLAG_UNSHARE (!hugetlb) To: Nadav Amit Cc: Jason Gunthorpe , David Hildenbrand , Linux Kernel Mailing List , Andrew Morton , Hugh Dickins , David Rientjes , Shakeel Butt , John Hubbard , Mike Kravetz , Mike Rapoport , Yang Shi , "Kirill A . Shutemov" , Matthew Wilcox , Vlastimil Babka , Jann Horn , Michal Hocko , Rik van Riel , Roman Gushchin , Andrea Arcangeli , Peter Xu , Donald Dutile , Christoph Hellwig , Oleg Nesterov , Jan Kara , Linux-MM , "open list:KERNEL SELFTEST FRAMEWORK" , "open list:DOCUMENTATION" Content-Type: multipart/mixed; boundary="0000000000003201c405d3629bc9" X-Rspamd-Server: rspam07 X-Rspamd-Queue-Id: 115BE40039 X-Stat-Signature: 16d97ue6ki3m9ojag3mpeh9rurt89mtc Authentication-Results: imf01.hostedemail.com; dkim=pass header.d=linux-foundation.org header.s=google header.b="eMQrMU/k"; dmarc=none; spf=pass (imf01.hostedemail.com: domain of torvalds@linuxfoundation.org designates 209.85.167.52 as permitted sender) smtp.mailfrom=torvalds@linuxfoundation.org X-HE-Tag: 1639795354-277046 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: --0000000000003201c405d3629bc9 Content-Type: text/plain; charset="UTF-8" On Fri, Dec 17, 2021 at 6:17 PM Linus Torvalds wrote: > > I think the hugepage code should use the exact same logic that the > regular wp fault code does. IOW, I think that this stupid (AND UNTESTED) patch should likely just fix David's test-case with the hugepage and splice thing.. Or at least be somewhat close. But it should be paired with the GUP side doing the right thing too, of course. Maybe it already does, maybe it doesn't, I didn't check... And maybe there's something subtle about the page_count() of a THP entry. Again, I can't really claim to have tested this all, but I'm hoping this makes somebody go "Ahh, now I see what Linus means" Linus --0000000000003201c405d3629bc9 Content-Type: text/x-patch; charset="US-ASCII"; name="patch.diff" Content-Disposition: attachment; filename="patch.diff" Content-Transfer-Encoding: base64 Content-ID: X-Attachment-Id: f_kxb7qbqw0 IG1tL2h1Z2VfbWVtb3J5LmMgfCAyMyArKysrKy0tLS0tLS0tLS0tLS0tLS0tLQogMSBmaWxlIGNo YW5nZWQsIDUgaW5zZXJ0aW9ucygrKSwgMTggZGVsZXRpb25zKC0pCgpkaWZmIC0tZ2l0IGEvbW0v aHVnZV9tZW1vcnkuYyBiL21tL2h1Z2VfbWVtb3J5LmMKaW5kZXggZTU0ODMzNDcyOTFjLi45ZjUy Mzg5ZWIwMzEgMTAwNjQ0Ci0tLSBhL21tL2h1Z2VfbWVtb3J5LmMKKysrIGIvbW0vaHVnZV9tZW1v cnkuYwpAQCAtMTMwNCwyNSArMTMwNCwxMSBAQCB2bV9mYXVsdF90IGRvX2h1Z2VfcG1kX3dwX3Bh Z2Uoc3RydWN0IHZtX2ZhdWx0ICp2bWYpCiAJVk1fQlVHX09OX1BBR0UoIVBhZ2VIZWFkKHBhZ2Up LCBwYWdlKTsKIAogCS8qIExvY2sgcGFnZSBmb3IgcmV1c2Vfc3dhcF9wYWdlKCkgKi8KLQlpZiAo IXRyeWxvY2tfcGFnZShwYWdlKSkgewotCQlnZXRfcGFnZShwYWdlKTsKLQkJc3Bpbl91bmxvY2so dm1mLT5wdGwpOwotCQlsb2NrX3BhZ2UocGFnZSk7Ci0JCXNwaW5fbG9jayh2bWYtPnB0bCk7Ci0J CWlmICh1bmxpa2VseSghcG1kX3NhbWUoKnZtZi0+cG1kLCBvcmlnX3BtZCkpKSB7Ci0JCQlzcGlu X3VubG9jayh2bWYtPnB0bCk7Ci0JCQl1bmxvY2tfcGFnZShwYWdlKTsKLQkJCXB1dF9wYWdlKHBh Z2UpOwotCQkJcmV0dXJuIDA7Ci0JCX0KLQkJcHV0X3BhZ2UocGFnZSk7Ci0JfQorCWlmICghdHJ5 bG9ja19wYWdlKHBhZ2UpKQorCQlnb3RvIGZhaWxlZF90b19sb2NrOwogCi0JLyoKLQkgKiBXZSBj YW4gb25seSByZXVzZSB0aGUgcGFnZSBpZiBub2JvZHkgZWxzZSBtYXBzIHRoZSBodWdlIHBhZ2Ug b3IgaXQncwotCSAqIHBhcnQuCi0JICovCi0JaWYgKHJldXNlX3N3YXBfcGFnZShwYWdlLCBOVUxM KSkgeworCS8qIFJldXNlIHRoZSBwYWdlIGFzLWlzIGlmIHRoaXMgcG1kIGVudHJ5IGlzIHRoZSBv bmx5IHVzZXIgKi8KKwlpZiAocGFnZV9jb3VudChwYWdlKSA9PSAxKSB7CiAJCXBtZF90IGVudHJ5 OwogCQllbnRyeSA9IHBtZF9ta3lvdW5nKG9yaWdfcG1kKTsKIAkJZW50cnkgPSBtYXliZV9wbWRf bWt3cml0ZShwbWRfbWtkaXJ0eShlbnRyeSksIHZtYSk7CkBAIC0xMzM0LDYgKzEzMjAsNyBAQCB2 bV9mYXVsdF90IGRvX2h1Z2VfcG1kX3dwX3BhZ2Uoc3RydWN0IHZtX2ZhdWx0ICp2bWYpCiAJfQog CiAJdW5sb2NrX3BhZ2UocGFnZSk7CitmYWlsZWRfdG9fbG9jazoKIAlzcGluX3VubG9jayh2bWYt PnB0bCk7CiBmYWxsYmFjazoKIAlfX3NwbGl0X2h1Z2VfcG1kKHZtYSwgdm1mLT5wbWQsIHZtZi0+ YWRkcmVzcywgZmFsc2UsIE5VTEwpOwo= --0000000000003201c405d3629bc9--