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 905CCEB64D7 for ; Tue, 20 Jun 2023 11:45:53 +0000 (UTC) Received: by kanga.kvack.org (Postfix) id 2DC858D0005; Tue, 20 Jun 2023 07:45:53 -0400 (EDT) Received: by kanga.kvack.org (Postfix, from userid 40) id 266268D0001; Tue, 20 Jun 2023 07:45:53 -0400 (EDT) X-Delivered-To: int-list-linux-mm@kvack.org Received: by kanga.kvack.org (Postfix, from userid 63042) id 0E0BC8D0005; Tue, 20 Jun 2023 07:45:53 -0400 (EDT) X-Delivered-To: linux-mm@kvack.org Received: from relay.hostedemail.com (smtprelay0014.hostedemail.com [216.40.44.14]) by kanga.kvack.org (Postfix) with ESMTP id F33C98D0001 for ; Tue, 20 Jun 2023 07:45:52 -0400 (EDT) Received: from smtpin12.hostedemail.com (a10.router.float.18 [10.200.18.1]) by unirelay01.hostedemail.com (Postfix) with ESMTP id C4CFF1C84E4 for ; Tue, 20 Jun 2023 11:45:52 +0000 (UTC) X-FDA: 80922946944.12.18BDD62 Received: from mail-pf1-f182.google.com (mail-pf1-f182.google.com [209.85.210.182]) by imf29.hostedemail.com (Postfix) with ESMTP id D6E2912000A for ; Tue, 20 Jun 2023 11:45:50 +0000 (UTC) Authentication-Results: imf29.hostedemail.com; dkim=pass header.d=ziepe.ca header.s=google header.b=cnn8IRs9; spf=pass (imf29.hostedemail.com: domain of jgg@ziepe.ca designates 209.85.210.182 as permitted sender) smtp.mailfrom=jgg@ziepe.ca; dmarc=none ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=hostedemail.com; s=arc-20220608; t=1687261551; 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=eWdugmL7jiCCazRwRTiCxhXSGGIdZDMM/iY0UbvTdUM=; b=8lmQXwW2h6LYGefOF4uvrBsnKY1sMrFV0tzLRmovDuHM/FBctb2GAnQ1gJeVxg7Y3n4VkI 9yeVoE3MFOUV+wByjAysWp6UeK6ZZUXffxinOn2WWzVNzH0I+gxCcUevQyGk1Wq7nWDCZj FSZnUIg4rCZlbka1hW6wItsId024az8= ARC-Authentication-Results: i=1; imf29.hostedemail.com; dkim=pass header.d=ziepe.ca header.s=google header.b=cnn8IRs9; spf=pass (imf29.hostedemail.com: domain of jgg@ziepe.ca designates 209.85.210.182 as permitted sender) smtp.mailfrom=jgg@ziepe.ca; dmarc=none ARC-Seal: i=1; s=arc-20220608; d=hostedemail.com; t=1687261551; a=rsa-sha256; cv=none; b=mTrV6ZCu7A8h82ijLgNTfIUvQyHK3sx7S0QkE5AafdNDqHCdDaoh1V7RcP9WjzCtp7UOBI TzkOdWrNRQL6dh8LcOVTfT5E0VR8uFmWNV62oMLjkoTac4Bd6W1fpPcPjpWFP6OBTAnxPV HILPxtya3/wU0TQiClgugLMcPDCOCVE= Received: by mail-pf1-f182.google.com with SMTP id d2e1a72fcca58-666edfc50deso2251717b3a.0 for ; Tue, 20 Jun 2023 04:45:50 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=ziepe.ca; s=google; t=1687261549; x=1689853549; h=in-reply-to:content-disposition:mime-version:references:message-id :subject:cc:to:from:date:from:to:cc:subject:date:message-id:reply-to; bh=eWdugmL7jiCCazRwRTiCxhXSGGIdZDMM/iY0UbvTdUM=; b=cnn8IRs9UEV2IyxM2/dyNE8Ybbqmsnj6tLoR8M1bmXQAVunFEwC20TKu6DUOVKG4AB L2Yp6/XPUf6F5Xy+nc7uJZfoC02InmQWSMblYoG/4uAdrA9GIFvL7kwUb/yEeNhYFGr1 bkwG9DCJKJm7UPMDVOHOR7oHEfHhzz1mYZlMGy4Z2i7tBudfceWk0OsWq4cf8C2qfKpV w9kz4Q6fy8cbK1P9tLY7jnan9hyd8ZaBomTDWQJ4IaOPbEXOkOCCXRQOiThAn1UjmjTv PMpNa0lpCABevs0dIyQN5iH+zWSS9D1PjlkqlJwomy4rRdkHiQnPe7pPZunP1WQZBtR3 zPdQ== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20221208; t=1687261549; x=1689853549; 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=eWdugmL7jiCCazRwRTiCxhXSGGIdZDMM/iY0UbvTdUM=; b=F52N2gZMLJx+vEgLRXp1LUMwm334apzUO2v58Nhra6OkPT+lQ6o3eY6dMIJpxtbQ6r fILLDfRULeVhkomzDl3C2h2mgVFfThcZD1ejbb9uNwTm/jtBVmCkyxNzpfsCKwuEM1cn +uezKiEr81sNZQZXnCqA5e5UTBQY7cQzY4z3Nu+i+BFDG8ll/5hAsUcJ2sHFD2hKwbZh DgkrbCMrHrZ21pzpNrpV9BWL0zxVwcpGbmWgzggg0YujXgboF/l268SLma3HiXGOhEBy cslY3r5fLZ+yUgx6etmGHWR6hAeCjDGLqiiJjzq+vyX+2pKn5CLQPaR9FfnRY1h3AS4s QXJQ== X-Gm-Message-State: AC+VfDyaXsqMJmts6L0oDQ89RVIXSc4/xM0aX02gj9iMCvbBx7a1BlgD 0jDma3WmwVXpZ+nThCdjb8jELw== X-Google-Smtp-Source: ACHHUZ4X6nDwRKfeDuMyEgMyTrD6VgfsYjM5cSKUHYx3cAu4vDqqHRc1ln2Pqg94YC+C6bvDGfs7/g== X-Received: by 2002:a05:6a00:1820:b0:668:732d:7d9f with SMTP id y32-20020a056a00182000b00668732d7d9fmr10033336pfa.2.1687261549460; Tue, 20 Jun 2023 04:45:49 -0700 (PDT) Received: from ziepe.ca (hlfxns017vw-142-68-25-194.dhcp-dynamic.fibreop.ns.bellaliant.net. [142.68.25.194]) by smtp.gmail.com with ESMTPSA id d17-20020aa78e51000000b0062d859a33d1sm1207199pfr.84.2023.06.20.04.45.48 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Tue, 20 Jun 2023 04:45:48 -0700 (PDT) Received: from jgg by wakko with local (Exim 4.95) (envelope-from ) id 1qBZnv-007KSY-BA; Tue, 20 Jun 2023 08:45:47 -0300 Date: Tue, 20 Jun 2023 08:45:47 -0300 From: Jason Gunthorpe To: Hugh Dickins Cc: Andrew Morton , Gerald Schaefer , Vasily Gorbik , Mike Kravetz , Mike Rapoport , "Kirill A. Shutemov" , Matthew Wilcox , 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 , Lorenzo Stoakes , Huang Ying , Naoya Horiguchi , Christophe Leroy , Zack Rusin , Axel Rasmussen , Anshuman Khandual , Pasha Tatashin , Miaohe Lin , Minchan Kim , Christoph Hellwig , Song Liu , Thomas Hellstrom , Russell King , "David Sc. Miller" , Michael Ellerman , "Aneesh Kumar K.V" , Heiko Carstens , Christian Borntraeger , Claudio Imbrenda , Alexander Gordeev , Jann Horn , Vishal Moola , Vlastimil Babka , 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 v2 05/12] powerpc: add pte_free_defer() for pgtables sharing page Message-ID: References: <54cb04f-3762-987f-8294-91dafd8ebfb0@google.com> <5cd9f442-61da-4c3d-eca-b7f44d22aa5f@google.com> MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline In-Reply-To: <5cd9f442-61da-4c3d-eca-b7f44d22aa5f@google.com> X-Rspamd-Queue-Id: D6E2912000A X-Rspam-User: X-Stat-Signature: h7p9c86qirtubie38igz64bibxm3ub79 X-Rspamd-Server: rspam01 X-HE-Tag: 1687261550-170609 X-HE-Meta: U2FsdGVkX1+pAIu+DmxiTfT/WatClcu8pzkmeKzgFnRZIr7TxCfEj2TQin6Tq5/2Rx2TgBBT8iNuT5OvrMQAAh8RXCGi5YiQ9QeLApwlvZSihk1D0ZRNlXmQXtI5EGNlNdrKxNL8lIIItI/nDPOqgNTH3LI/lSR7kYf4LB00yL1ZErXGY8sVbbwYBaRcDTiYjNhyBuNFtSIuCHFLQauesLWkThPL6QAu+kr+9kCImQsfvaTiOcKtyfgKNB8au3uI03Wi/227YVOfdSwV8dDMCNETGHO/twNNXIevnKHzfoTlS3+orSpxePWJnWM6HsUJuSAGzy4uvtIh5pvBQ1Zanb8pEVe9T+B9K3lReUhW9C9CxRIHqfa5HodmgyN7j4EHjMTUDmFD+RaVWkhTStEq1IyB4o5Rz0PsKvWhZDNnumhNvVFHIrMBk/eugNHwq7oHM3v06H9FMqaykZMw3ealHip/4w56910cJwJCUZlAjWsNzmyDYY5pvyugYo9DXHgQpV/CrpHDka75RaQgnMHKwqSffIajyF0ygb43BllnRxoK4zUAF4FWQJgJP5Ny1h03kBjJK2p5jT/mwTndVLthX2kpdR9FoE+9Zp3JpgrNo74ieU8/RQ0nbvvKVWWr10ME8i4xZzRNVCesQjANRbrv+0JASVzLs9qfDdz/6DlDEIXCi+Fu9sVxPwtIXXe/DfrtMxDZc26+2s65ZC7C/9I2/D4qiUPWhzKju9gt1IB2dc/H4vtdiPEbtdpvawoVRqqgAUn9/OvkrLvlaYy0gJP9ich8b1MCoomoWEp7B+Cqo7+dDkzhCXksWL8LtlpFk5GZn7GioNFtlm70/6CilCqM6v+L4NVfh5SL2nIFBX21qEFYYZa5WjWX+yvOtEni1tqxyhmN0C9LZd4GqQdOhOaJMwC783FZrfLKTc45XLlGcSiatKPS4t4yHAcw5ju45pm/Alt5Lvmx6b4CUZm2kZW 0/gPYKq0 EyGiiLWXq7JPZJZ8ugU3NOyOAaYBY9IBmOm9p2Jx2366pgcP9gFopm+qtuoE6xwaZ3IpM/yLxTBC/AfJIh/uiykOV6VbxLPZo2M8nkS2NLM9p6hbEBAWbwZKYOrCb8SQ907ZGfidWdaoVjkD5zNf8HwV/gajLV+G51iJrEstZu8Dc58df9YTaCIclloJx4gsIuzeJ+EMW/spOLKngcdZ+QxrI0OezTTlHXJR5YL4vRWum81niF8pzIyJJWE85sBaebhNGaLLrKGP5BXrJLVtyyEbi1/GbJpTZB9WP1r1K2PRRAl5nTc0ifGjWCEvju9AdFs9usq5k0A8F7xret3sbvQMSFDjMwG9U5M+4BelUhZEvZfS1IbZ9jQtLMDrox5WuuIbqcqPcMXlb0lIa7TsOirHjIT2goR0VtQ9k34nsXkCkOU4RDsge9R8OkYfwkJzcYrSdzcKo9Y1xaq4S7Xzmp1rSkAWIVH51Ot1M8lEgnBdt5WA= 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 Tue, Jun 20, 2023 at 12:47:54AM -0700, Hugh Dickins wrote: > Add powerpc-specific pte_free_defer(), to call pte_free() via call_rcu(). > pte_free_defer() will be called inside khugepaged's retract_page_tables() > loop, where allocating extra memory cannot be relied upon. This precedes > the generic version to avoid build breakage from incompatible pgtable_t. > > This is awkward because the struct page contains only one rcu_head, but > that page may be shared between PTE_FRAG_NR pagetables, each wanting to > use the rcu_head at the same time: account concurrent deferrals with a > heightened refcount, only the first making use of the rcu_head, but > re-deferring if more deferrals arrived during its grace period. You didn't answer my question why we can't just move the rcu to the actual free page? Since PPC doesn't recycle the frags, we don't need to carefully RCU free each frag, we just need to RCU free the entire page when it becomes eventually free? Jason