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 9C93FC05027 for ; Mon, 6 Feb 2023 16:49:28 +0000 (UTC) Received: by kanga.kvack.org (Postfix) id 198026B0072; Mon, 6 Feb 2023 11:49:28 -0500 (EST) Received: by kanga.kvack.org (Postfix, from userid 40) id 148DF6B0073; Mon, 6 Feb 2023 11:49:28 -0500 (EST) X-Delivered-To: int-list-linux-mm@kvack.org Received: by kanga.kvack.org (Postfix, from userid 63042) id F2B8B6B0074; Mon, 6 Feb 2023 11:49:27 -0500 (EST) 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 E4DE06B0072 for ; Mon, 6 Feb 2023 11:49:27 -0500 (EST) Received: from smtpin06.hostedemail.com (a10.router.float.18 [10.200.18.1]) by unirelay01.hostedemail.com (Postfix) with ESMTP id 9B4A91C6198 for ; Mon, 6 Feb 2023 16:49:27 +0000 (UTC) X-FDA: 80437452774.06.3F52C93 Received: from us-smtp-delivery-124.mimecast.com (us-smtp-delivery-124.mimecast.com [170.10.133.124]) by imf02.hostedemail.com (Postfix) with ESMTP id 5E09680015 for ; Mon, 6 Feb 2023 16:49:25 +0000 (UTC) Authentication-Results: imf02.hostedemail.com; dkim=pass header.d=redhat.com header.s=mimecast20190719 header.b=IuOBzAhX; spf=pass (imf02.hostedemail.com: domain of david@redhat.com designates 170.10.133.124 as permitted sender) smtp.mailfrom=david@redhat.com; dmarc=pass (policy=none) header.from=redhat.com ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=hostedemail.com; s=arc-20220608; t=1675702165; 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=/dXq32FTqWosPLxhrbPyM1ZMk6NbSfezGcQxLjBKAJU=; b=e4s4BOWz/2leCJwkPZ+H8giMgt+S2To0sGPpVktDD2JGtc5yhqGXTIBhko3ez7rn61pLt+ 0C9qXvhLxujosZMFHQONGbU4yQ90O/cwQRAfDGOoayIm2gn0fr0a9EU8mbt/aM2ZY7cjQi U1NWkut/eXnytiLcJPe0AkeTcVJVVlU= ARC-Authentication-Results: i=1; imf02.hostedemail.com; dkim=pass header.d=redhat.com header.s=mimecast20190719 header.b=IuOBzAhX; spf=pass (imf02.hostedemail.com: domain of david@redhat.com designates 170.10.133.124 as permitted sender) smtp.mailfrom=david@redhat.com; dmarc=pass (policy=none) header.from=redhat.com ARC-Seal: i=1; s=arc-20220608; d=hostedemail.com; t=1675702165; a=rsa-sha256; cv=none; b=QaKh6Z9S1mpa+qST9dKglhSgYsRftXsJeHEgAqKQw7Uz1+813q7/B5locBuNQu1fhEBj4t fDtQ0xTJ/nEDhbJb70MwRrS+IGydHBlEjWgc1KdAJHEDoFM/rMrIdppk8rwamMV9osMBqk wcL1LnQeW/M2jdXMZJ8WxC8hbol7D+4= DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=redhat.com; s=mimecast20190719; t=1675702164; h=from:from: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; bh=/dXq32FTqWosPLxhrbPyM1ZMk6NbSfezGcQxLjBKAJU=; b=IuOBzAhXv9ve3JYJXFnC80Znv3/nnUnZZlyWrcuqWd8uvSfMHN0tQc8Yyhs9Xx8FrU+IY0 RidhJrsOw5crCbpMFZoJdjPVJCz4AaBrqtejlEHz7EpUd5pgA39+eJA2d/QookmkyfUABq 0q/fcqpcN/jgHtFLOo5y8OSsDK5fD1I= Received: from mail-wr1-f71.google.com (mail-wr1-f71.google.com [209.85.221.71]) by relay.mimecast.com with ESMTP with STARTTLS (version=TLSv1.3, cipher=TLS_AES_128_GCM_SHA256) id us-mta-494-mEYk4q1QM4-1ipwOFVkcgw-1; Mon, 06 Feb 2023 11:49:23 -0500 X-MC-Unique: mEYk4q1QM4-1ipwOFVkcgw-1 Received: by mail-wr1-f71.google.com with SMTP id k12-20020a5d6d4c000000b002bff57fc7fcso1628776wri.19 for ; Mon, 06 Feb 2023 08:49:23 -0800 (PST) X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20210112; h=content-transfer-encoding:in-reply-to:organization:from:references :cc:to:content-language:subject:user-agent:mime-version:date :message-id:x-gm-message-state:from:to:cc:subject:date:message-id :reply-to; bh=/dXq32FTqWosPLxhrbPyM1ZMk6NbSfezGcQxLjBKAJU=; b=EI97eprHm/e3YQaSF3xFkRcLEAJr8fZrX6WEdhM5A3loQyWA0l8yr55Img1jgS8x3M UcroZ3GyqNC0iUFnyjmnFy2LxHjuLDxBZeu2oVj39y9WV8giOazhyuh9rlxxNeH+Ij/1 w0u7pVRKJnZoPzV+kx90n0gcSiWrMWn3wOPHEoWUn9l8uMwnX5mRQakLQOzuH0qDlYxW mxWYdxTlqAa8dI6u7VCyK3T1Co88xSK7KRVSF7NicKEpU4vkWTX1f0Eflv5s1SbR0Y0G cb9+7SEKhWEr9BkaT7aLPQTHmi1NXQYfD8DQzPetE45IUWiMk52O/b4Nn4v9Wmq4vACB aWQQ== X-Gm-Message-State: AO0yUKXjBHaMf9YO3qjkmLdZS4SNEwOVZXR/wIvasaR27Dke4tkfvcSA VQioAO+k1RdvJiBLb6a2mi5+WOTsJETgVCQZbs58CpcQkiZHbixO0xzewHcFXGut3aTjz/g0AeO Eez58XItGwV4= X-Received: by 2002:a05:600c:1609:b0:3dc:53a2:2690 with SMTP id m9-20020a05600c160900b003dc53a22690mr362683wmn.7.1675702162125; Mon, 06 Feb 2023 08:49:22 -0800 (PST) X-Google-Smtp-Source: AK7set++87J9vLatfdqogEIE2G2HvwjrPfPhIpZfSop0uzBDHgG5fYN08Euhq09HVWSkQsSSE/TZ/Q== X-Received: by 2002:a05:600c:1609:b0:3dc:53a2:2690 with SMTP id m9-20020a05600c160900b003dc53a22690mr362666wmn.7.1675702161836; Mon, 06 Feb 2023 08:49:21 -0800 (PST) Received: from ?IPV6:2003:cb:c704:6200:8129:46d3:fa82:23f8? (p200300cbc7046200812946d3fa8223f8.dip0.t-ipconnect.de. [2003:cb:c704:6200:8129:46d3:fa82:23f8]) by smtp.gmail.com with ESMTPSA id h9-20020a05600c314900b003dfeea6a85csm9466586wmo.31.2023.02.06.08.49.20 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128); Mon, 06 Feb 2023 08:49:21 -0800 (PST) Message-ID: <9131d33a-1640-e29e-1ad0-2fb69572bf28@redhat.com> Date: Mon, 6 Feb 2023 17:49:20 +0100 MIME-Version: 1.0 User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:102.0) Gecko/20100101 Thunderbird/102.6.0 Subject: Re: [RFC PATCH v4 3/4] mm: add do_set_pte_range() To: Matthew Wilcox Cc: "Yin, Fengwei" , linux-mm@kvack.org, dave.hansen@intel.com, tim.c.chen@intel.com, ying.huang@intel.com References: <20230206140639.538867-1-fengwei.yin@intel.com> <20230206140639.538867-4-fengwei.yin@intel.com> <7c8d3d2c-35e3-5be4-684b-4b991a0adb8e@redhat.com> <400c5fb6-11ae-7771-07e0-538ebe652b2a@redhat.com> From: David Hildenbrand Organization: Red Hat In-Reply-To: X-Mimecast-Spam-Score: 0 X-Mimecast-Originator: redhat.com Content-Language: en-US Content-Type: text/plain; charset=UTF-8; format=flowed Content-Transfer-Encoding: 7bit X-Rspam-User: X-Rspamd-Server: rspam03 X-Stat-Signature: y4atoiti38n615zsqhjtgersg7ysg87s X-Rspamd-Queue-Id: 5E09680015 X-HE-Tag: 1675702165-618577 X-HE-Meta: U2FsdGVkX1+1NYTfHkHSrxOcYXUQUCO0nvnaeVH7ha2ptH9+wIiQuKfWXhMvnaxTWCQgK46ceQ9iiq30gdwrAdGTy51wwPgRJ/MxrqS8IBXpCTmyfF1XuCl2IYVbhkzp/44Drdq/+9AEoEKq8UcvuatI8h+DvKAZJL9C+dsEV2qKjP8YuwNoFb3roB7h/7xgUGzIB0eiRSEVow5iS+6UkUW+lFVHM6Gn/VBYVttvSBpJuVEjCS1Nidi0+mun7ETFxAKIwQnwGaaYKys/Wv0tsLcD39qR9SEiZmwGQ4GuaKx0JcaiBbOTnfiOc0CufN5mNC1tR6k5HkJUEP5FrmPNi65IQl/y1AKli6aN4wBK172zte+tmcpRnc2jgpkhxjnSE48jIHt5X3kn7UPZxMYsDz2lgFlHk8Fy+4qLX9tOB+WVx+SdUGgSFC75wwPY9/whYvWBm5J/klHXH8r//+Bj4QnfwoKHRvq5a7jexJC0S1/eJLj1KfqZQ/B4KgGTtMqHaFw/JP+SM8CUGmjL6Xj6uGHhC7NAzvKUTiSzvZj6Y1bjkr8OY3uPFFpwOx15bnEZmRw16IvkvhHheWPO7R2G9eyyHrxg6i3UKP8uAsfNiZTSGONGmAFMU82NveEMZ/BvZa86Bj5jgidz5TwbyWUSJHjtQiw32JtoS1Cp93iUzGci4d9fxfLRMnoNrV52LycYWKZBUohYtxkgOPk+04jWfBJ5bSfpSwCxPyA+kWTNR7lPM8bYxkNQXbgoi90IIsTa6lj4J2yY67X1MyCsSUrutBtW8wZiBslBXGNTMewcfqnGP6QMaq9kVFoGg3XXg26Vlw91lMdVuEk6l9YkmCAH6FWnfCmkLKyxyEwXxyGlJT0pns34OV6OEyfC2pfg4ltNX06vsmk3ou3nHUHshinn/ubiL0x7NmG32v88Z/EIMoJOZVvC51ZHLMxvqA2DAtrnGOZPlgCHZJXXC2vByzc H6l1GXFp Uki9DaToW07u3ede0vh/nWF4CMZsSkrulp1M5QdUa2uPs8lxzKuAygnDMB8gQjvQNbYw7x4K3WDyvTTISEyHy/01+mfjPMO5Oq9PMFNKt2Mihv5kpO1Hns2pKLEJ4RTol+IIVlf6AW4hCMCe2uvAQAn1MuZg5ndTVzX57XyPpfSurUUk/nhglQ7nBWxZ8yi5w/E48wBONbH63o4QSqs7pL6AVegzhjzVxutgPcYigDe7/a4qPKoBUs+lHyxIi/WByMz6kZD9Vv12lxs3a8lgyVtQtj2NYAb6+c0KrkCuxA77ER11aPW0SP4WBPtz0qaI5ysgXfea3dQUDZ/3lQVVVltBC/UnbPoIU7LNY X-Bogosity: Ham, tests=bogofilter, spamicity=0.000201, version=1.2.4 Sender: owner-linux-mm@kvack.org Precedence: bulk X-Loop: owner-majordomo@kvack.org List-ID: On 06.02.23 17:43, Matthew Wilcox wrote: > On Mon, Feb 06, 2023 at 05:35:55PM +0100, David Hildenbrand wrote: >> On 06.02.23 17:33, Matthew Wilcox wrote: >>> On Mon, Feb 06, 2023 at 04:13:44PM +0100, David Hildenbrand wrote: >>>>>> The handling of cow pages is still very clunky. >>>>>> folio_add_new_anon_rmap() handles anonymous large folios just fine. I >>>>>> think David was looking at current code, not the code in mm-next. >>>>> OK. Let's wait for further comment from David. >>>> >>>> As I raised, page_add_new_anon_rmap() -> folio_add_new_anon_rmap() can be >>>> used to add a fresh (a) PMD-mapped THP or (b) order-0 folio. >>>> >>>> folio_add_new_anon_rmap() is not suitable for PTE-mapping a large folio. >>>> Which is what we are intending to do here unless I am completely off. >>> >>> I think you are. While the infrastructure here handles large folios >>> which are not PMDs, there's nobody who will allocate such a thing, so >>> there is no problem. Right> >> >> And that's precisely what I want to have fenced off here. I want that >> function to complain instead of silently doing the wrong thing. > > If this were a widely called function, I'd agree. But there are two > callers of do_set_pte; one in filemap.c and one in memory.c. It's > overcautious and has created huge churn in this patchset. If you're > really that concerned, stick a VM_BUG_ON() in folio_add_new_anon_rmap() > instead of making weird stuff happen in set_pte_range(). We have + if (!cow) { + folio_add_file_rmap_range(folio, start, nr, vma, false); + add_mm_counter(vma->vm_mm, mm_counter_file(page), nr); + } else { + /* + * rmap code is not ready to handle COW with anonymous + * large folio yet. Capture and warn if large folio + * is given. + */ + VM_WARN_ON_FOLIO(folio_test_large(folio), folio); + } now. What are we supposed to add instead on the else branch instead that would be correct in the future? Or not look weird? Go on, scream louder at me, I don't care. -- Thanks, David / dhildenb