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 141FFD3C543 for ; Sat, 9 Nov 2024 03:15:49 +0000 (UTC) Received: by kanga.kvack.org (Postfix) id 5B2F16B00A0; Fri, 8 Nov 2024 22:15:49 -0500 (EST) Received: by kanga.kvack.org (Postfix, from userid 40) id 562A86B00A1; Fri, 8 Nov 2024 22:15:49 -0500 (EST) X-Delivered-To: int-list-linux-mm@kvack.org Received: by kanga.kvack.org (Postfix, from userid 63042) id 403D96B00A4; Fri, 8 Nov 2024 22:15:49 -0500 (EST) 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 1CE986B00A0 for ; Fri, 8 Nov 2024 22:15:49 -0500 (EST) Received: from smtpin17.hostedemail.com (a10.router.float.18 [10.200.18.1]) by unirelay03.hostedemail.com (Postfix) with ESMTP id BDFA2A08A5 for ; Sat, 9 Nov 2024 03:15:48 +0000 (UTC) X-FDA: 82765089372.17.30B85C0 Received: from mail-pj1-f54.google.com (mail-pj1-f54.google.com [209.85.216.54]) by imf07.hostedemail.com (Postfix) with ESMTP id 153244000A for ; Sat, 9 Nov 2024 03:14:53 +0000 (UTC) Authentication-Results: imf07.hostedemail.com; dkim=pass header.d=bytedance.com header.s=google header.b=bdxZJu8H; dmarc=pass (policy=quarantine) header.from=bytedance.com; spf=pass (imf07.hostedemail.com: domain of zhengqi.arch@bytedance.com designates 209.85.216.54 as permitted sender) smtp.mailfrom=zhengqi.arch@bytedance.com ARC-Seal: i=1; s=arc-20220608; d=hostedemail.com; t=1731122086; a=rsa-sha256; cv=none; b=vRUfNzM/9hKnFhi2WRZAVA6pLf2nmnB8ZpE2oYtN/PRCtNSQV9rK+Q7fUjMotJil4xO3gB +ACuAAD18LbAgf2+t+BmBYBrkJcGo1yeXHU7Q+9U/CJQUkOBRfzHcweBGidUSD0Ex9EDXI aOMs0DcilGd2vMVkPheFoifzUjDch5o= ARC-Authentication-Results: i=1; imf07.hostedemail.com; dkim=pass header.d=bytedance.com header.s=google header.b=bdxZJu8H; dmarc=pass (policy=quarantine) header.from=bytedance.com; spf=pass (imf07.hostedemail.com: domain of zhengqi.arch@bytedance.com designates 209.85.216.54 as permitted sender) smtp.mailfrom=zhengqi.arch@bytedance.com ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=hostedemail.com; s=arc-20220608; t=1731122086; 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=xSGEji7l7SmehnMI3kxciLW3xRBpDOGyd1qw5jIicSQ=; b=vp0EWsUA5w5JaMw4g1ctTM0bPbjI9MLJ/3knPZpScjeHNIJJKLjRaA5OweUtFtm1q0q8N4 qgKTYI4zyCrt8P3Ez3dccqse2Hn4zNlbIeCXLp1go5FawgzeUeCAnDzqgi7Ppsj008Q+sY ljpIRcMB6WkQEwkKWb258JHrQfqX7EA= Received: by mail-pj1-f54.google.com with SMTP id 98e67ed59e1d1-2e2bd0e2c4fso2291797a91.3 for ; Fri, 08 Nov 2024 19:15:46 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=bytedance.com; s=google; t=1731122145; x=1731726945; darn=kvack.org; h=content-transfer-encoding:in-reply-to:from:references:cc:to :content-language:subject:user-agent:mime-version:date:message-id :from:to:cc:subject:date:message-id:reply-to; bh=xSGEji7l7SmehnMI3kxciLW3xRBpDOGyd1qw5jIicSQ=; b=bdxZJu8HJWTAbKMH9qKYrfVXYHgGejb2rHeRC2RwxwhShKaAMtSV+4Tqw0m+mUVlm1 OwEHE01Pwls0iR/mQlNPBgBAtJnehxY0jg7WxOMGAJKkvSUgUES1P4v8KbycAk54Ru4/ axuwzdC+SKP02AWBsGzcoypOqgqmeusEryMoPDV9srkkuznPT3XRHbq8yOVfub5JSJbr e9EReahZxHuvoV76ipy/oL5xFy+oXAskTXpsmSyTYv+ukA2Gc+QGFQNMuXjuLJ7YbwwC I4tcI0Cw0ufOVjCBZd9SqswbHeKuFQGAIAEpRcvvOoANrwuh6ONibdGnmCSY4MGmuUm8 BABQ== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1731122145; x=1731726945; h=content-transfer-encoding:in-reply-to: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=xSGEji7l7SmehnMI3kxciLW3xRBpDOGyd1qw5jIicSQ=; b=tIfj1LdoM962ZX1YKIKLvvvUHcQvOdT5jwtwd3eCnTKs9ahgh/q7t4VrRlYAzYdTbU 2PZHpibiv57o4BhaeTn0eXyZctPY2lbBlHW8f7J8idl2hsRh2CGE8+NiGjdhzI5ERElu 487zziW8sxq290bX4DH8FlEalYon0jCz7GkZZK6ugrbNwiWTfmxZWU86s86L9v5G2NVL T7JWf1+0XmW4OarPTTRC/kt59HH+zVJqurICROF+EK8xBhdhWfKciQGqEHnrt6j3h8Vm 7+XbL6cP6++ywbwhWRbKBjCdBjBJSvive9dswfu8wGD0fFhA22Qix7bF0PnLXTSHcQYl KDlA== X-Forwarded-Encrypted: i=1; AJvYcCVo9LEPnK7xMn2qsK8YQQOpviDRYQIZoAL3C/Rk/588MxAMmSgsuuq4ULZzIhtCawitxcSMTfUxhQ==@kvack.org X-Gm-Message-State: AOJu0YyHNEcNj+RQD28VKyVdXWZeuhJD73Nve4t1O/AXkgEtBx/ULtYI 3i3v5GaXX/wWB/+3rHP6a8BN00f0iTXVnX33IV0OBPvXKWftzTQvbhxCSUFzHu4= X-Google-Smtp-Source: AGHT+IHewqQX1y783Zo1DQ66/f5ROspqJrxlgDdx7FIUCqBqePVfL85uQIJdZi5d2waa2kd5jC9C0Q== X-Received: by 2002:a17:90b:1807:b0:2e2:cd79:ec06 with SMTP id 98e67ed59e1d1-2e9b16955c6mr7853571a91.10.1731122145591; Fri, 08 Nov 2024 19:15:45 -0800 (PST) Received: from [10.84.149.95] ([63.216.146.178]) by smtp.gmail.com with ESMTPSA id 98e67ed59e1d1-2e99a55bf2asm6415790a91.31.2024.11.08.19.15.39 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128); Fri, 08 Nov 2024 19:15:45 -0800 (PST) Message-ID: <0a27f4c7-fb1a-4fb9-b563-813e0d26fc55@bytedance.com> Date: Sat, 9 Nov 2024 11:14:21 +0800 MIME-Version: 1.0 User-Agent: Mozilla Thunderbird Subject: Re: [PATCH v2 6/7] x86: mm: free page table pages by RCU instead of semi RCU Content-Language: en-US To: Jann Horn Cc: Dave Hansen , Andy Lutomirski , Peter Zijlstra , david@redhat.com, hughd@google.com, willy@infradead.org, mgorman@suse.de, muchun.song@linux.dev, vbabka@kernel.org, akpm@linux-foundation.org, zokeefe@google.com, rientjes@google.com, peterx@redhat.com, catalin.marinas@arm.com, linux-mm@kvack.org, linux-kernel@vger.kernel.org, x86@kernel.org References: From: Qi Zheng In-Reply-To: Content-Type: text/plain; charset=UTF-8; format=flowed Content-Transfer-Encoding: 8bit X-Rspam-User: X-Rspamd-Queue-Id: 153244000A X-Rspamd-Server: rspam11 X-Stat-Signature: c17y9r9r3g75yyet5n9834g9g4y7h1ym X-HE-Tag: 1731122093-760312 X-HE-Meta: U2FsdGVkX1947IARiHHsgMBYuPX1cP5Byosk/Y0EXVe2rMEOM0iSLUYpHlfDH/oDbEF6aTtY7TTc0IWJZBZuSlA/IeUZZUoBNzSzx76BMT1WirvBgSe/w4uLBhJqwFq4AJD9cuRNAXqebOBSTeNZ48EQelcR6oc+IuYVNac5Hs1NvtF2Bfgqs1uJmmMBJHCpIyKQNQYKr/AJd6CiVT6T0exQHe4fzrJ+0E5XHl9qjLsbyZKBdDzrpAL9QlVkLROjqqFMItcgbTAxuK5R+MTc+wn7emIt4KCAuvhf9mTLl2M/oAkOz7c0Yz/NKze7iYrEVZG8cmZ4bbejk/StgpPH3u17Mq8CzKXpzCAuSmDHU9S5Q8z/oyG5SedJ8y2PgK/WmfdAYokzTtXkzmdhqwLqEhMRC1Ag9dovZndnO1r6FwSxhWMHdhSM0cHZRXJp9bnj+P3oJrhf8fXT0fziFnLhw757+mt9zwdfNOQhpP+zlKxcf/ngE6XkzXSepa9kSPBgoBxKYrlN1eo0KrKmt3NtXPix3CTROJibKH2w3w6TDno8cWASFvnKA2Su6slNihs0HleL9xtt5dvERl6HKqshZ1WIFY3hG8v4nu2GWeVme+73LeaUOvgujJRoZ7vU3Q7eYddXy9j7AFjws73wxp+4VmIPGtwW+S1O+aHPJ0GQRoGawaMqe+EHuc+PxkRVSRUXppi4q0VpvFnRQ4I401RKD7LFIRLy8Vh7pKTUKH5Kmah3t1TcP+SZ+K5uke8amABfVBuCfMZwoDL7BpCg6O+dneppGUqILqqiXEUJ16qQWNyKo8TXcfonLZcDaw2A51U9/TY4dXK0i/kqm0Fi3IGa6mzqdrvG8gKmT396D+pYaLoxr0hvcIvZl0FkDq20+EG2tpF9Pd/9EPKgM8T1efsLc70EFo4CaGye9lQeW9CrfSBOWD7Zp+zLNPMDQFIKcEwAJipn28MBN/UjwLfqSN+ oLZB7yt3 BVZGAa7y31WAjHRtGMYeIXjgCs3OwVeKKy87byoy3yowvoPdjthUAkZno53QtQZ+VYlfj8c38CNyBx8phvUAl7sX0j9yY9G+nANSUHvqOo5U22WBs6KVir+vM8YvN6xwE9rV/0ZjDc51kwpPDGWm1l8TJRI+1vrqZNPg+h2uws5IaLsSOVQgc2G1QVugERjWeLSKiRqfHEXbfU0EH3BspbzwOgVPp3TtuH2Ik73xK8XusQ8dYewk4U3GgQVKSdD23Vg8h8WKsxLpvd2Yim8hk0Dg5LVCdqKR/19DbSGuMAPIAHn+DkNl+dLgz8krPz0XW/CgVJPKSHLZrZb8WQkHtxppysBvg/QyTjn+gMv2n32RvvheanAlZOGsZOTRqBrWK4O61 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: List-Subscribe: List-Unsubscribe: On 2024/11/9 04:09, Jann Horn wrote: > On Fri, Nov 8, 2024 at 8:38 AM Qi Zheng wrote: >> On 2024/11/8 06:39, Jann Horn wrote: >>> On Thu, Oct 31, 2024 at 9:14 AM Qi Zheng wrote: >>> free_pte >>> pte_free_tlb >>> __pte_free_tlb >>> ___pte_free_tlb >>> paravirt_tlb_remove_table >>> tlb_remove_table [!CONFIG_PARAVIRT, Xen PV, Hyper-V, KVM] >>> [no-free-memory slowpath:] >>> tlb_table_invalidate >>> tlb_remove_table_one >>> tlb_remove_table_sync_one [does IPI for GUP-fast] >> >> ^ >> It seems that this step can be ommitted when >> CONFIG_PT_RECLAIM is enabled, because GUP-fast will >> disable IRQ, which can also serve as the RCU critical >> section. > > Yeah, I think so too. Will remove this step in the next version. > >>>> +#ifdef CONFIG_PT_RECLAIM >>>> +static inline void __tlb_remove_table_one_rcu(struct rcu_head *head) >>>> +{ >>>> + struct page *page; >>>> + >>>> + page = container_of(head, struct page, rcu_head); >>>> + free_page_and_swap_cache(page); >>>> +} >>> >>> Why free_page_and_swap_cache()? Page tables shouldn't have swap cache, >>> so I think something like put_page() would do the job. >> >> Ah, I just did the same thing as __tlb_remove_table(). But I also >> have the same doubt as you, why does __tlb_remove_table() need to >> call free_page_and_swap_cache() instead of put_page(). > > I think commit 9e52fc2b50de3a1c08b44f94c610fbe998c0031a probably just > copy-pasted it from a more generic page freeing path... I guess so. Will use put_page() instead of free_page_and_swap_cache() in the next version. But for __tlb_remove_table(), I prefer to send a separate patch to modify. Thanks!