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 17167C3DA70 for ; Tue, 30 Jul 2024 18:44:54 +0000 (UTC) Received: by kanga.kvack.org (Postfix) id 77C936B007B; Tue, 30 Jul 2024 14:44:53 -0400 (EDT) Received: by kanga.kvack.org (Postfix, from userid 40) id 72C7B6B0082; Tue, 30 Jul 2024 14:44:53 -0400 (EDT) X-Delivered-To: int-list-linux-mm@kvack.org Received: by kanga.kvack.org (Postfix, from userid 63042) id 5F3AB6B0083; Tue, 30 Jul 2024 14:44:53 -0400 (EDT) X-Delivered-To: linux-mm@kvack.org Received: from relay.hostedemail.com (smtprelay0013.hostedemail.com [216.40.44.13]) by kanga.kvack.org (Postfix) with ESMTP id 42DCF6B007B for ; Tue, 30 Jul 2024 14:44:53 -0400 (EDT) Received: from smtpin20.hostedemail.com (a10.router.float.18 [10.200.18.1]) by unirelay04.hostedemail.com (Postfix) with ESMTP id E11981A0478 for ; Tue, 30 Jul 2024 18:44:52 +0000 (UTC) X-FDA: 82397295624.20.924CB65 Received: from us-smtp-delivery-124.mimecast.com (us-smtp-delivery-124.mimecast.com [170.10.129.124]) by imf01.hostedemail.com (Postfix) with ESMTP id CA7F740009 for ; Tue, 30 Jul 2024 18:44:50 +0000 (UTC) Authentication-Results: imf01.hostedemail.com; dkim=pass header.d=redhat.com header.s=mimecast20190719 header.b=K051pOGZ; spf=pass (imf01.hostedemail.com: domain of peterx@redhat.com designates 170.10.129.124 as permitted sender) smtp.mailfrom=peterx@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=1722365063; 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: in-reply-to:in-reply-to:references:references:dkim-signature; bh=we6cMjtS27X2yzrxa43xXf+7pMvZNESLxYR2e6Nhvxo=; b=Hl3FVBnONvzzfEdJAEszUTXNdCgyM0lLrRrqrAJQilhB3PbP+vcNLflddF2ZEDDtID+bsF yN9fdj4y86/QIoF507azHiOoB7tAvFW2ALpU48OydBs+t2Bg8tlsgRxq5D0GbJfXCPt/hG 8WIfTi/6dhx5XdIoDSbJePqlq5rXPRA= ARC-Authentication-Results: i=1; imf01.hostedemail.com; dkim=pass header.d=redhat.com header.s=mimecast20190719 header.b=K051pOGZ; spf=pass (imf01.hostedemail.com: domain of peterx@redhat.com designates 170.10.129.124 as permitted sender) smtp.mailfrom=peterx@redhat.com; dmarc=pass (policy=none) header.from=redhat.com ARC-Seal: i=1; s=arc-20220608; d=hostedemail.com; t=1722365063; a=rsa-sha256; cv=none; b=Z1koegjZyCEZa4mDk4qIJoDi6ONT1WS5wtWiM7w2px6lL4hQThkFpOkKz8sX5KpjuSF4xy tAtzCMk5CfL84V4y2vXeFH7ksq2jX9xi26W40ITLQqir/9zHLe/sKMmIDcs2PDCRDN4PrW UroXxIso8VjqHM41Qdz6ZvXs8NrQKlI= DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=redhat.com; s=mimecast20190719; t=1722365090; 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: in-reply-to:in-reply-to:references:references; bh=we6cMjtS27X2yzrxa43xXf+7pMvZNESLxYR2e6Nhvxo=; b=K051pOGZ6pjT7FTNZ6fsktNq+DMZka02veHoTMGbmzz+6szK1OD8wS0VIKl9silicMcxxN OM/S8K8Yz3w3JLHSEMxtqcq6g5+3E6INHMEcWXB9ar9seWHYkgeHmUmN9A695xp+FO7Dyk YqCXz5idX9D1BgHonEDuyIm+3aC9T+Q= Received: from mail-qt1-f197.google.com (mail-qt1-f197.google.com [209.85.160.197]) by relay.mimecast.com with ESMTP with STARTTLS (version=TLSv1.3, cipher=TLS_AES_256_GCM_SHA384) id us-mta-303-XLk5B8YfOY2U8-JjfhSaXw-1; Tue, 30 Jul 2024 14:44:47 -0400 X-MC-Unique: XLk5B8YfOY2U8-JjfhSaXw-1 Received: by mail-qt1-f197.google.com with SMTP id d75a77b69052e-44ff25bbfe1so5818511cf.3 for ; Tue, 30 Jul 2024 11:44:47 -0700 (PDT) X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1722365087; x=1722969887; h=in-reply-to:content-disposition:mime-version:references:message-id :subject:cc:to:from:date:x-gm-message-state:from:to:cc:subject:date :message-id:reply-to; bh=we6cMjtS27X2yzrxa43xXf+7pMvZNESLxYR2e6Nhvxo=; b=uZEa1CAqIUncjWA+q1aUwBh/MtMZV1ezGE3G08ReQekN57Vt0Yn9/PAXlp7TqsBLFe /8fdNezJ5cUbFLrMMcab75mov+CHUs+368suU83L0uxux+cRQs4z7fByHoX3Z3KOmX03 H1RFWl6i5lzqplMgH+sVh6lUB5yXORwR1z22xiidygMnUOZBu0kfXR2d8gczvHXkiMgx +MQekkY/IdhCTNx1T0kFFVSTHfQGqqkfTwoo3whUJT68h9mcE7naP4kLdubzWMb8OU2G iM8yiHbMzOMzIngiS2lKAK3YgfPPo2kXHlMY74LH7/NecpbNHSIMneMdIGPlOcgMYFR6 OUlQ== X-Forwarded-Encrypted: i=1; AJvYcCUoYjysVUAwykuAcY1aa6Yyj83lWBXhZ2aYguQjkxj/v9h2WIPJPjqwHfK+T+hUZgHFROkqAEW1hQ==@kvack.org X-Gm-Message-State: AOJu0YztfgnOqKKrQMY/jpZak4oVJtKeJXPEvfCzenFAmt/vlGasjtvQ QAb9hGa/cO2XPMowhO2ePl4edXkZVxytmzh9rYhrxAdhplzYFivfVfX3OnnKXPMzHXw/0BD34ad oqX11ktb0rTHheV/Jt7CZvvtA1pwALSANdvJWNxsp0KIC3yxO X-Received: by 2002:a05:620a:2910:b0:7a1:e3e5:c6f with SMTP id af79cd13be357-7a1e3e513fcmr947293685a.9.1722365086957; Tue, 30 Jul 2024 11:44:46 -0700 (PDT) X-Google-Smtp-Source: AGHT+IHolbPklLWmv/+R+6JBgiAi3Lho9VqEd+2NZnVAe5Gt7Uz8YEdpcpKWmhat3pinDVriarC6Yw== X-Received: by 2002:a05:620a:2910:b0:7a1:e3e5:c6f with SMTP id af79cd13be357-7a1e3e513fcmr947292385a.9.1722365086408; Tue, 30 Jul 2024 11:44:46 -0700 (PDT) Received: from x1n (pool-99-254-121-117.cpe.net.cable.rogers.com. [99.254.121.117]) by smtp.gmail.com with ESMTPSA id af79cd13be357-7a1d73b2341sm668734685a.39.2024.07.30.11.44.45 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Tue, 30 Jul 2024 11:44:45 -0700 (PDT) Date: Tue, 30 Jul 2024 14:44:43 -0400 From: Peter Xu To: David Hildenbrand Cc: linux-kernel@vger.kernel.org, linux-mm@kvack.org, Andrew Morton , Muchun Song , Oscar Salvador , Qi Zheng , Hugh Dickins Subject: Re: [PATCH v1 1/2] mm: let pte_lockptr() consume a pte_t pointer Message-ID: References: <20240725183955.2268884-1-david@redhat.com> <20240725183955.2268884-2-david@redhat.com> <9e671388-a5c6-4de1-8c85-b7af8aee7f44@redhat.com> MIME-Version: 1.0 In-Reply-To: X-Mimecast-Spam-Score: 0 X-Mimecast-Originator: redhat.com Content-Type: text/plain; charset=utf-8 Content-Disposition: inline X-Rspamd-Server: rspam03 X-Rspam-User: X-Rspamd-Queue-Id: CA7F740009 X-Stat-Signature: srpxajptjb7gcoyn6hge94n9unxmdtof X-HE-Tag: 1722365090-87749 X-HE-Meta: U2FsdGVkX18ykCDl08y2E24eTricm2m9EEcOpMee5eAvGnZtrdJW8bQDWmU5RmmPv3BoUH94xgIgIHNZU6MIZciRies/IGK5j+2NSL3A54y0JG861S4y8h1hRTtjWmbsKoYAD6XRp5Noi9YRSKeAAEi0ma3KoGFUVwK2OgGnmw55QzNmAUxEOJiYJ34Ft8oD8iKNTvzadZJmhs8L2i44ryh8wGAQ+8U1vzVgDPchawoIEvJDcLB19K3p4igG2RnwIanH+VI2sEmx4wjGeE39GhdvXpkdVqPuT3qqSW+Wz8Yyl7VkeDTkAlWikzVcFc1nsGd9AoitMT4w/Z1nUUeelI5hQACfQCb/fBA576O4Y5aWmXPhmMoQDlz0W8Q8niU/bOvHZR1kerA0IpV+XYvD7qu+yr2mdcZD06p135yrqZB50JEWlQgp93SE4a+Z5yzablsyIxRTb+n5x7sWxyi2UIBsLwJQvLMMZ7+pTrQbOs2ydyxulFGEElj3gRQRUJz/fT5ko7fYZoe/SCR6Qs4dR981cv03BvQFILxtqJtF2IqCItZsc3SNCItPbVuIfuYKtQGSdjamks33lW7bN7tIz1bwl0xrDLhomG4KapasqW3ZoqHjYWrJUk53+2HCApNOERQTh+Lp/kKfa4q3zwAVk1mrJUn0jJsoNVmAXNuRtJ2/y3cSrt2zgRUzwsGTYaWHaVTPK9WabFfBELXLpEkngbYbQBQZFu3VtK9wwt+Jvo/H2y9Y+rHKJGwMLWsz8bf2baAbhIrB45iAR8v0kogEW11obp4g5masyi7V2hlnNrQjkqEGItnuqJV7iKGnC9hXeZYGbxsqNCVZs7wZawXBNLiuqQ+rSThEDnNkVs8xmo2JHIM/RHkNamemoPen05SB8BnRWL2Q+xX72XtLBr0sxn/0LY9VbGPJ6Bj6CuEivmPPJ7qvoqI/biuvPD0K8lAVjIztADL99+8CeqJ7IL5 59ezvJi9 XxkCABukhrcK76cNR4Y/gK90sWbuCeU53z/pV5p7DvO1YUVUfCVCNLL/RxLhP6r24CzaiThGqTc7F5twZ2PTipGV5udzkYUIlcnlgdQlpbBF9xCTzYhOSpxbfu+UzwxTBG7WxoegLic1H9hu6JIHVTrejnb9YF3x2ZqwwJZD8x6WJti/MdRS4QeVloLW6EgU3T5a/+v1t6YjjPQXhuBEqnHZ5SVQ6YvfrhT0fGUEbLtfEbF7q9C7NBDesUC9TcHyTLZnPkXExm7wv6UJG71vy8TnzNvKBBIQHv7KMXUCf0BvkIA+1hp1v3lxHypGu3rT35DNN0BCAf7Sl20N2CZgTQIkxz2nV2pBn/xCieIGUYgJO/TSpwqanTl7xZn8QaYvC0Hgqw8JU7YnuaDE= X-Bogosity: Ham, tests=bogofilter, spamicity=0.000009, version=1.2.4 Sender: owner-linux-mm@kvack.org Precedence: bulk X-Loop: owner-majordomo@kvack.org List-ID: List-Subscribe: List-Unsubscribe: On Mon, Jul 29, 2024 at 07:46:26PM +0200, David Hildenbrand wrote: > I see what you mean but this is a very similar pattern as used in > collapse_pte_mapped_thp(), no? There we have > > start_pte = pte_offset_map_nolock(mm, pmd, haddr, &ptl); > ... > if (!pml) > spin_lock(ptl); > ... > pte_unmap(start_pte); > if (!pml) > spin_unlock(ptl); > > > Again, I don't have a strong opinion on this, but doing it more similar to > collapse_pte_mapped_thp() to obtain locks makes it clearer to me. But if I > am missing something obvious please shout and I'll change it. Right.. I don't think that path can change the pte pgtable either, and there is even the line Hugh left showing it's impossible: if (!start_pte) /* mmap_lock + page lock should prevent this */ goto abort; I was thinking maybe the page lock is the critical one, irrelevant of mmap lock. No strong opinion either. Not sure whether Hugh has some thoughts. But maybe if we stick with pte_offset_map_nolock() and if there'll be a repost anyway, we could add a similar comment like this one showing that the pte pgtable should be actually as stable as the ptlock. Thanks, -- Peter Xu