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 F37A9C7EE29 for ; Mon, 29 May 2023 14:03:58 +0000 (UTC) Received: by kanga.kvack.org (Postfix) id 79010900004; Mon, 29 May 2023 10:03:58 -0400 (EDT) Received: by kanga.kvack.org (Postfix, from userid 40) id 7188D900002; Mon, 29 May 2023 10:03:58 -0400 (EDT) X-Delivered-To: int-list-linux-mm@kvack.org Received: by kanga.kvack.org (Postfix, from userid 63042) id 5BA23900004; Mon, 29 May 2023 10:03:58 -0400 (EDT) X-Delivered-To: linux-mm@kvack.org Received: from relay.hostedemail.com (smtprelay0016.hostedemail.com [216.40.44.16]) by kanga.kvack.org (Postfix) with ESMTP id 485C4900002 for ; Mon, 29 May 2023 10:03:58 -0400 (EDT) Received: from smtpin04.hostedemail.com (a10.router.float.18 [10.200.18.1]) by unirelay05.hostedemail.com (Postfix) with ESMTP id 0F2F0401E6 for ; Mon, 29 May 2023 14:03:58 +0000 (UTC) X-FDA: 80843461356.04.05DBA63 Received: from casper.infradead.org (casper.infradead.org [90.155.50.34]) by imf03.hostedemail.com (Postfix) with ESMTP id 49B9520036 for ; Mon, 29 May 2023 14:03:27 +0000 (UTC) Authentication-Results: imf03.hostedemail.com; dkim=pass header.d=infradead.org header.s=casper.20170209 header.b=lDre3Kyc; dmarc=none; spf=none (imf03.hostedemail.com: domain of willy@infradead.org has no SPF policy when checking 90.155.50.34) smtp.mailfrom=willy@infradead.org ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=hostedemail.com; s=arc-20220608; t=1685369008; 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=8n/gSgUfVLp+2xUxKUXJObyidN3fOaenRgCYrh0plbg=; b=56NuDtCPWT9ZGUk5Qqb4k09I7r6QqfRlU+f8VD9GsnDY/Fx7aDjPkBgvpJqLSKm1rMlEhM Pi+N7LhvgFHZRI8t6agxP/GGVQY4BKMt6UAw4lnzkZYintMavLR77hCCxB7exir0gVb3Kz 28DlVwfK/vtrSiLdhEstNKrTybgAwzM= ARC-Authentication-Results: i=1; imf03.hostedemail.com; dkim=pass header.d=infradead.org header.s=casper.20170209 header.b=lDre3Kyc; dmarc=none; spf=none (imf03.hostedemail.com: domain of willy@infradead.org has no SPF policy when checking 90.155.50.34) smtp.mailfrom=willy@infradead.org ARC-Seal: i=1; s=arc-20220608; d=hostedemail.com; t=1685369008; a=rsa-sha256; cv=none; b=jNCFsbdZed3fOGB/Ag/9xwS0QwQ61OXli4anhZo/g5e27yTjDapNPXBVgrq6Pxy9emvGJ4 JwviBUdIEiZ99S2ezs9QlvoFN4YZJ4D4Xgqs0TeeFVg6/bMBool/F5aDNbOKJjRkjAY0gY swYNwVWg+U+ezROa5SL3+lqMyDyuGVU= DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=infradead.org; s=casper.20170209; h=In-Reply-To:Content-Type:MIME-Version: References:Message-ID:Subject:Cc:To:From:Date:Sender:Reply-To: Content-Transfer-Encoding:Content-ID:Content-Description; bh=8n/gSgUfVLp+2xUxKUXJObyidN3fOaenRgCYrh0plbg=; b=lDre3KycVopHJgQtSVi6Ft0h2+ /6KcXeh5DDgTYRWUam42o5WNWijcaqCZOd3dx2HAurqm8z1fldvnXLpCnoSy0NLLn08cXknKDuPGQ gYTInVr7Mv6sz5/UedpbbXKAgGCEtbEPUwJS3HU859+6q2mrf+Vst5r6bVYq4QYO4FOSwRHoda1Dn 5iV/2BvS3JTHI2796pUfUpALVlmDgyKCBvF/8JWEkyCLv2cJ9H9RqEbD681UXQ5f6iLi2mlHWJs6k +YJbLW+C+/rFR09hhGpAEembhtRGCh+/zp9btJ5yU++252/kk/VTdEAS56sP+b2VQVAXRo/gquNr/ Yo5hUC4w==; Received: from willy by casper.infradead.org with local (Exim 4.94.2 #2 (Red Hat Linux)) id 1q3dRi-005SM1-Ch; Mon, 29 May 2023 14:02:02 +0000 Date: Mon, 29 May 2023 15:02:02 +0100 From: Matthew Wilcox To: Hugh Dickins Cc: Andrew Morton , Mike Kravetz , Mike Rapoport , "Kirill A. Shutemov" , David Hildenbrand , Suren Baghdasaryan , Qi Zheng , Yang Shi , Mel Gorman , Peter Xu , Peter Zijlstra , Will Deacon , Yu Zhao , Alistair Popple , Ralph Campbell , Ira Weiny , Steven Price , SeongJae Park , Naoya Horiguchi , Christophe Leroy , Zack Rusin , Jason Gunthorpe , Axel Rasmussen , Anshuman Khandual , Pasha Tatashin , Miaohe Lin , Minchan Kim , Christoph Hellwig , Song Liu , Thomas Hellstrom , Russell King , "David S. Miller" , Michael Ellerman , "Aneesh Kumar K.V" , Heiko Carstens , Christian Borntraeger , Claudio Imbrenda , Alexander Gordeev , Jann Horn , linux-arm-kernel@lists.infradead.org, sparclinux@vger.kernel.org, linuxppc-dev@lists.ozlabs.org, linux-s390@vger.kernel.org, linux-kernel@vger.kernel.org, linux-mm@kvack.org Subject: Re: [PATCH 05/12] powerpc: add pte_free_defer() for pgtables sharing page Message-ID: References: <35e983f5-7ed3-b310-d949-9ae8b130cdab@google.com> <28eb289f-ea2c-8eb9-63bb-9f7d7b9ccc11@google.com> MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline In-Reply-To: <28eb289f-ea2c-8eb9-63bb-9f7d7b9ccc11@google.com> X-Rspamd-Queue-Id: 49B9520036 X-Rspam-User: X-Rspamd-Server: rspam05 X-Stat-Signature: qswj19sihhbsi5ejjcw74wxb3cqscdjq X-HE-Tag: 1685369007-201138 X-HE-Meta: U2FsdGVkX19cYQSPNhiPWvxx4L+GWREX+V6EG6Hws7BlqK/PledSm5VqcOS8z2Lbj/a3ydTODhsGhkVneNyx5C6lTZn3qTeJjNIw9IclyB6VImn/CMpQxgZC/TkJTzxVYx17ciExcTUYIk+tIHEudgRfqwzK+o2IkkgQOMAQ7J5xxkKO/FU9EkDSJtiFYeLKJvgPJxvUQZepkkPxPizGOK0jg1reE9aoAPD/Zl9AAEGy3uCyZ88g2Hbfu1DZMbuRCpsvODEpcLO12pywu/M3MuRmeCZttPsmCY+TtO7vPqOBWAlFYC/oIQ0/Xd6iTmMpUSt5pE9FNksbaZc3en2iukJ/9vIC45DegV90f4NNDPzkOZmnfuR8wj4eEEBk9TkSYx80Cs0kFOrjRsoQs+K8OwsX+2XkyFC7SS5ZfLAH6DcjS2Ol0vJVYFtiLeLpVIk9ioj2fBcMr8NHbW55qBOohcnwiW6UmsZE1pm3SS3PgosVtmMXXlsz30fZp8N+Wz6pMdku3yFrQbyNL4pjFf8o3pRhhMtlj9qGtUV/qyhxOhiAu/5whnITf0ctr9R4Xl3qTD8STsKldX3nEbffJcG63V9hGVRSprbwppR2NBU6a5iAi4cJxY+AVXwtSyToqSZDLCHxBf8G8X6bThkRE2bHIPXPuGsBeWFvTnkHtCE8kjUkB2ciQhCnEFKtYC6v7yKxmVestSQeO2elJXG2nlYmlg9KCIO3vFFFkSodko/B+xyv8TUcb7s6egN5ZAHWMYZ+EayNK8AKaOqHdMpx3tUREXXZIXj8J1E8hHmzOgKWtLaHqBjlXh1ojmRtBkYzuFLPsXadZm0VyzqQ5gedTm8eB12C2F4kG08yl7Ilx8O0ZvloaLcOfVE0fTUH0yCNE4oc/I+1IOLmxDCyoL7hzsIzCa40HPQwahK2vzq8Cw8XTkFA1MTsbSxz1XgGNrpBnwzm42u2X82/kdeKT3TOrKy 2mapbrOJ 3DL8pq9h7A+W2SxsSDelfCXyDpG7r/k9meVR1efa6HbMACP6JIG7fzDpus3kp9OLNNUbQ6SVxczuCBpFORAouSy4leIw2j1LU0jR8Z9oDkV1w6Mv9sEWwFLAPayhJqbdwtM2R5gdmtDG91xbL2p82aONAYJVUUJwIYCQeOWeqT1GmsUDDbZPAd4NeBg== 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 Sun, May 28, 2023 at 11:20:21PM -0700, Hugh Dickins wrote: > +void pte_free_defer(struct mm_struct *mm, pgtable_t pgtable) > +{ > + struct page *page; > + > + page = virt_to_page(pgtable); > + call_rcu(&page->rcu_head, pte_free_now); > +} This can't be safe (on ppc). IIRC you might have up to 16x4k page tables sharing one 64kB page. So if you have two page tables from the same page being defer-freed simultaneously, you'll reuse the rcu_head and I cannot imagine things go well from that point. I have no idea how to solve this problem.