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 358AAC05027 for ; Sat, 18 Feb 2023 00:42:13 +0000 (UTC) Received: by kanga.kvack.org (Postfix) id BF15D6B0098; Fri, 17 Feb 2023 19:42:12 -0500 (EST) Received: by kanga.kvack.org (Postfix, from userid 40) id BA1856B0099; Fri, 17 Feb 2023 19:42:12 -0500 (EST) X-Delivered-To: int-list-linux-mm@kvack.org Received: by kanga.kvack.org (Postfix, from userid 63042) id A68AC6B009A; Fri, 17 Feb 2023 19:42:12 -0500 (EST) 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 945516B0098 for ; Fri, 17 Feb 2023 19:42:12 -0500 (EST) Received: from smtpin05.hostedemail.com (a10.router.float.18 [10.200.18.1]) by unirelay01.hostedemail.com (Postfix) with ESMTP id 6BC6D1C5D06 for ; Sat, 18 Feb 2023 00:42:12 +0000 (UTC) X-FDA: 80478560904.05.13A9194 Received: from mail-il1-f175.google.com (mail-il1-f175.google.com [209.85.166.175]) by imf11.hostedemail.com (Postfix) with ESMTP id B439140004 for ; Sat, 18 Feb 2023 00:42:10 +0000 (UTC) Authentication-Results: imf11.hostedemail.com; dkim=pass header.d=google.com header.s=20210112 header.b=ojwEF4Jz; spf=pass (imf11.hostedemail.com: domain of almasrymina@google.com designates 209.85.166.175 as permitted sender) smtp.mailfrom=almasrymina@google.com; dmarc=pass (policy=reject) header.from=google.com ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=hostedemail.com; s=arc-20220608; t=1676680930; 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=hNr8+Ev/ajh46J6kogGWSKhKYMQoFqNMu4CknNIEA0U=; b=za0foVCcPUm7EF5JlG4Q+Bqs57h2I/jLGfhqRGLXqAkIMFsQf0JFMgF0IAbIf3nie5RyNk WAQYQQmPY/kv86E3HuAVkmw8UD228Nzcoyod2Gk3bYmigrnUh8CoMCzqO52GoP53m5WiPl RHrGz+FUbUcpCjXhd4JOEG7xEUASPn8= ARC-Authentication-Results: i=1; imf11.hostedemail.com; dkim=pass header.d=google.com header.s=20210112 header.b=ojwEF4Jz; spf=pass (imf11.hostedemail.com: domain of almasrymina@google.com designates 209.85.166.175 as permitted sender) smtp.mailfrom=almasrymina@google.com; dmarc=pass (policy=reject) header.from=google.com ARC-Seal: i=1; s=arc-20220608; d=hostedemail.com; t=1676680930; a=rsa-sha256; cv=none; b=d9bIjakUghQwbV3XhNZi6MrZyW5gUdkinWETUgDLKMxBxCsTuu7J7lK9/pujVKzjjm1uIC f0I3afiktIsTE8yGk38dLweDewK2baT06vZUOtkRtfhbfrCZJLe+B/8P5VWVEMjrP6uElM HGoU8OfplmxodqoVazGZNp6c4iyyP4k= Received: by mail-il1-f175.google.com with SMTP id t2so1011664ilm.6 for ; Fri, 17 Feb 2023 16:42:10 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=20210112; h=content-transfer-encoding:cc:to:subject:message-id:date:from :in-reply-to:references:mime-version:from:to:cc:subject:date :message-id:reply-to; bh=hNr8+Ev/ajh46J6kogGWSKhKYMQoFqNMu4CknNIEA0U=; b=ojwEF4Jz1NAU7iRdG9ucYN86C1nnr3deyRvZetcTtuI3vXL7Rs9qLj0PDMqrXH+mmZ D3EiCENVHgrY0MGpO6k3OAJKQlHVSwpWO+aUIgOGHKjepn7/b5yzpmnyDyqFykJV9vnk fsDf/7+dgJ2C4GBOepVzA485VsR+3yFfbo7eSL/7jNPa0sU5Et1g+akY2ODhicKxlm81 lBBdaKphLwwdScAfCMzS03R7QeJInWfDn+jO0BuE4O2JDDrbc+rcNx3F/Zlf6fUEnZue zNLPooxCefi//rRTLtRc8GxpALZG7JkG0MLWKAEgBG08OhZegBEee8b6ATOxzCuOh7xm 1JYQ== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20210112; h=content-transfer-encoding:cc:to:subject:message-id:date:from :in-reply-to:references:mime-version:x-gm-message-state:from:to:cc :subject:date:message-id:reply-to; bh=hNr8+Ev/ajh46J6kogGWSKhKYMQoFqNMu4CknNIEA0U=; b=IrxGGUI5ErOffIM4itsgWLowQRTzGXSvWvHP/3P/SfE8ooITHdRFVgULYt2IAdSs9w laymI8sUneWxVTwyPb0d9Aq8zY8xwCYLKCTcVaREiSWW50bkTmfZTfiXwYk0d1jQmuW9 0n5fGyLNn6A7mgv45C14EFz80OIdqjNm+k/XvEDhXGfU/Rvu1TBnfdmdi5IREhGaw0Cg c+JcSesICLDT9f1FrqwC0clwrFdcWFdXAYtdvNit8EcjVEZOX4qzZotrj9OpksEvViP4 EqSgjtBYIKszlKDc4EYezEuapQrffX0jJRVywWYl3b7xvfcAHFmyoL96i/OX6MSv63wW LCBw== X-Gm-Message-State: AO0yUKXNywN1alJFFirSY5znb4zqqiPOmB0JCgfG2kQuUzzAOStKQs7Z SqE8KnkxX6UlRTvvpJejsVLMsYYssY/9PD9QjEMgZA== X-Google-Smtp-Source: AK7set+UV03bLdBjk+KBEt9VTtAJcQEQd+V1YHA+/eL7PobusGFAWHmOYyir7gSztpWBY2Su/cNKZson9N++2Ckz7/I= X-Received: by 2002:a92:330d:0:b0:313:cc98:7eee with SMTP id a13-20020a92330d000000b00313cc987eeemr699425ilf.1.1676680929628; Fri, 17 Feb 2023 16:42:09 -0800 (PST) MIME-Version: 1.0 References: <20230218002819.1486479-1-jthoughton@google.com> <20230218002819.1486479-2-jthoughton@google.com> In-Reply-To: <20230218002819.1486479-2-jthoughton@google.com> From: Mina Almasry Date: Fri, 17 Feb 2023 16:41:57 -0800 Message-ID: Subject: Re: [PATCH v2 01/46] hugetlb: don't set PageUptodate for UFFDIO_CONTINUE To: James Houghton Cc: Mike Kravetz , Muchun Song , Peter Xu , Andrew Morton , David Hildenbrand , David Rientjes , Axel Rasmussen , "Zach O'Keefe" , Manish Mishra , Naoya Horiguchi , "Dr . David Alan Gilbert" , "Matthew Wilcox (Oracle)" , Vlastimil Babka , Baolin Wang , Miaohe Lin , Yang Shi , Frank van der Linden , Jiaqi Yan , linux-mm@kvack.org, linux-kernel@vger.kernel.org Content-Type: text/plain; charset="UTF-8" Content-Transfer-Encoding: quoted-printable X-Stat-Signature: bwry3in4oog3wtzo43fwetp99cnpu3jd X-Rspam-User: X-Rspamd-Queue-Id: B439140004 X-Rspamd-Server: rspam06 X-HE-Tag: 1676680930-148832 X-HE-Meta: U2FsdGVkX1/PR7emnI9ebgBCPKXCAZmfbSJmYLN8wBUjyQeR2XnIfW7s8mOVTWghha8OWTX7K5Y5hMbCgqNgIHjNWcHuLqiM4rMg/8whyBg/2Vjm4bFhpZYNkQq7U4Ru9r1jougcnCxC2HBLoOvmTqXVtJFHB98wGFomGbP4ZppSOzRNnfJ//g2FXJ+TAYGYxvRrKycZ87HsCVu9xyPZU+ErwEuMYH92JOMVB22WaQAjvhTN4T2upCajzDfVrzB9WWq5gbzDx4d104TDGHq9J17hoqxwJ97yjkelQUlHm7uAtsp6SEXjGT9P4qAFw9I4C+jELGw7FfwJ0ZJEupFLIvBGOWe7LtcCjymfyBRjJHywCeFOR7SAV02JznZRRpvX8+ExkhIZrRB5MUhbkzWIi6JEuJeaexikRyH0dEVLh0z6mJUZv75xcO8gLue6eV1a2RdMSa1lrMyWRSq9h0qRY3DK6ch1s1CwD1jWbsafgcosXOdhCXEQCWXK7fF5SbKtOwUTnoFruHWIIpryqdylMuhacrawLf29dEvUJVyOA+dzqX2nSME+RmVYvAvUmbWv77OJ4iufWlJWRynpLoy+N6g+i+x5wWMbfMlE4LHC+7aFhGnErUip2XffegDb8qQ5K2eEGQOLRTc0jKfRolrgPv71s8VPlHzVkofKWt8TLXetcNeB+DtVkgFAG4D7t5Twqh64x0mtHSjxzVU3sVDQMkPx67Zar0d0vNYNPTx4wJzDKVijpAdd0Gei4udh/aZ7QNmOzws8cwnaNNfpoPrxIhvxi6FJfwP7fbBm1bL1ooBMNNFal8QAkAKmPp/B3zjCApC4I7ubJE0cxZ+aXCOJlBYhDTH8OCo3e/VWyt2VgheuLYyYXLXu/Fe45XehkfSnk8Gm/fLX18kuAaOJzXejn6yeCJy4umzfN1sXGE1p9CIMGbXu59cTYcyNBjGYmu4a891bBVv5iNlgiFY3IMm MxbSkrs0 QNio241h+ZmIJ1iNGnlxMrB7kh6U4llZf7/lcfw+OB9ml3jZwPc6LanDpi+U26lMQOqAI9qEdOUZ01h76c9FdxHGYfzae6Iirn4js4FqJC6C4L/s2/fnAfBUkmNpL73of9D4ovXClyWn9AMOJPg1xjQXgDzlXh3nJ3ic8F7QVJ9lK+Ub2jhb3wb8gOxoVo2x/hK3YQXNE3HU6t3keswUb7KUs0tAovNXU7iL8dXVlisz4p5hXMUXM/5AaXYA03WNd18+XT3HUGvJ22PWhjI+iZ4zEN2eouFi0WM7/h9MdmDrE6Z0Jnl6b4g/XuA== 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 Fri, Feb 17, 2023 at 4:28=E2=80=AFPM James Houghton wrote: > > If would be bad if we actually set PageUptodate with UFFDIO_CONTINUE; > PageUptodate indicates that the page has been zeroed, and we don't want > to give a non-zeroed page to the user. > > The reason this change is being made now is because UFFDIO_CONTINUEs on > subpages definitely shouldn't set this page flag on the head page. > > Signed-off-by: James Houghton > > diff --git a/mm/hugetlb.c b/mm/hugetlb.c > index 07abcb6eb203..792cb2e67ce5 100644 > --- a/mm/hugetlb.c > +++ b/mm/hugetlb.c > @@ -6256,7 +6256,16 @@ int hugetlb_mcopy_atomic_pte(struct mm_struct *dst= _mm, > * preceding stores to the page contents become visible before > * the set_pte_at() write. > */ > - __folio_mark_uptodate(folio); > + if (!is_continue) > + __folio_mark_uptodate(folio); > + else if (!folio_test_uptodate(folio)) { > + /* > + * This should never happen; HugeTLB pages are always Upt= odate > + * as soon as they are allocated. > + */ if (is_continue) then we grab a page from the page cache, no? Are pages in page caches always uptodate? Why? I guess that means they're mapped hence uptodate? Also this comment should explain why pages in the page cache are always uptodate, no? Because this error branch is hit if (is_continue && !folio_test_uptodate()), not when pages are freshly allocated. > + ret =3D -EFAULT; > + goto out_release_nounlock; > + } > > /* Add shared, newly allocated pages to the page cache. */ > if (vm_shared && !is_continue) { > -- > 2.39.2.637.g21b0678d19-goog >