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 04727E7716C for ; Thu, 5 Dec 2024 03:59:33 +0000 (UTC) Received: by kanga.kvack.org (Postfix) id 63D256B008C; Wed, 4 Dec 2024 22:59:33 -0500 (EST) Received: by kanga.kvack.org (Postfix, from userid 40) id 5ECF26B0092; Wed, 4 Dec 2024 22:59:33 -0500 (EST) X-Delivered-To: int-list-linux-mm@kvack.org Received: by kanga.kvack.org (Postfix, from userid 63042) id 48E336B0093; Wed, 4 Dec 2024 22:59:33 -0500 (EST) 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 29ECC6B008C for ; Wed, 4 Dec 2024 22:59:33 -0500 (EST) Received: from smtpin29.hostedemail.com (a10.router.float.18 [10.200.18.1]) by unirelay09.hostedemail.com (Postfix) with ESMTP id 9AA83812F5 for ; Thu, 5 Dec 2024 03:59:32 +0000 (UTC) X-FDA: 82859550858.29.18CA1F2 Received: from mail-pl1-f174.google.com (mail-pl1-f174.google.com [209.85.214.174]) by imf05.hostedemail.com (Postfix) with ESMTP id B3CB010000D for ; Thu, 5 Dec 2024 03:59:01 +0000 (UTC) Authentication-Results: imf05.hostedemail.com; dkim=pass header.d=bytedance.com header.s=google header.b=OqWtT7Ue; dmarc=pass (policy=quarantine) header.from=bytedance.com; spf=pass (imf05.hostedemail.com: domain of zhengqi.arch@bytedance.com designates 209.85.214.174 as permitted sender) smtp.mailfrom=zhengqi.arch@bytedance.com ARC-Seal: i=1; s=arc-20220608; d=hostedemail.com; t=1733371156; a=rsa-sha256; cv=none; b=NI3tMBwIKPjJ+SFWkOAta14mHZZ2fwNAsrg8VaapdvU43iEflzop3zZhiO4ppbQwfvr/FA RYjPJgeH+0UCNXO2GtjoTWMV2csYQa10jRAKQY/JoAxGN6RXnB34WNiQeNw4YR4dFawVmG nTYgwThiwiUmHL1RPeXjwFS2wqodP4k= ARC-Authentication-Results: i=1; imf05.hostedemail.com; dkim=pass header.d=bytedance.com header.s=google header.b=OqWtT7Ue; dmarc=pass (policy=quarantine) header.from=bytedance.com; spf=pass (imf05.hostedemail.com: domain of zhengqi.arch@bytedance.com designates 209.85.214.174 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=1733371156; 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=xhB/vC8+9l+LSkpwcpFHyYm+bgXUrU8fCpH1bzC2dVw=; b=X8P86vDKJjPZ26JYzs6otyaVcf34v8vd6dHxwBIODlA6gVuMVp+XKWBwU4M1yI6R0yIx65 aRrjVBXOR/BOYhOMxgmp4Khk6OhmfC4eIWbDDi12xu6wVPPKC2MP0SKxSU9ACJjYOrLtfw /FGJE/BGd3eCGzVbnjRh2XcTHlEw9jw= Received: by mail-pl1-f174.google.com with SMTP id d9443c01a7336-215b45a40d8so3588925ad.1 for ; Wed, 04 Dec 2024 19:59:30 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=bytedance.com; s=google; t=1733371169; x=1733975969; 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=xhB/vC8+9l+LSkpwcpFHyYm+bgXUrU8fCpH1bzC2dVw=; b=OqWtT7Ue6VOTqMlk3HbE/7WAhXHPRXs3K28DQMQaDoJJk8zXHOm6+q7gD/7Vss+CB+ IBtGa64uHvIbcMmHGEOo/FPL1MumUp8Jkcv6r0hRQu9vlTDRum9+9c/GW2y2Ydey5fnJ hBxtxuI4ct95IP62AxiCPnekeIuIgz5FuUOnzfDm8VZ/6TrO2puJVO87LBYD+V9106Sz sZ1P9FS5F5INvC+a903G3ZG3izsjGcVpmZMvpFdYGwBbYg2767u4jdz9ezh2iFFrnfL2 1bxwjWoeOqqX8fIB0OHUNtmXX8kb4EV7fpMX0L9MsH/4VYS8vWEPCg6xBF/E8/ZVlZd/ Uw7A== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1733371169; x=1733975969; 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=xhB/vC8+9l+LSkpwcpFHyYm+bgXUrU8fCpH1bzC2dVw=; b=eKN8XHlqj+AWTQwv0o9BHFCie6tco40CkfVMfsrqwVljBp0S37fFthMdqNDVb9V/FK gRJHyPW5KA/aNA7kypHRzibHorSzCsSYwaGHybz9EUH+fMJc9CXPTONGubcFVIz0alAM 8pRVjCjTjE4DORS9Aac91OxXWpj9+DxaAJDPHFxEIQwNqRtsfITsxIGq59Ls0OdIg/gS UH2FIwlbBShB9T1pP2g6xFumGTDCfBMnAx6Z4k/S73yUvCheDC6JdASc5WbU1IzEfAje wjpzqREytyzrwNRhEXKTnlWvrqBi/mfcroKkL1mRFJaUBcQCdj+8jfZoFM39OlG9J/aH 5Yvg== X-Forwarded-Encrypted: i=1; AJvYcCU4euhWn25xULiPU6CZJRZ3RDwEma0f9KUaYDVMa9/OYBNmNDK/TVYINlTo0LcifJmJaLabYK10Yg==@kvack.org X-Gm-Message-State: AOJu0YwIec0oAIYFwbgkIEdiZo53B5oMN8FiX5QzFKMYIp7KHgezZoYW 44pRXBDrGBUB2MFG4eYsglruVJhnFTV8ErzoPf2+eYK51/iLgDdIqRCipkZ1UsM= X-Gm-Gg: ASbGncv9vw+pILVrFgz/wUltP+XzOPhvo54g5WWbN6mjsIGuRE/2F5gicMyHSTgtYEt 60g727HJvKKHzmmXJO7+MSnzkqJtUEaEKsIIIAn58TMyh0YNuXbnsdPXPlde1jTtSt1asDUSI/q EBkxehRrF8iqXzfIMMADmMtB6IEmbuCtZvRqPib2n5GYSyVocv/vEcH2T/x/nTeFqa41UFlAAzr B1ZFzvOXuPksGD0gERtXqRjHsE/tPROQ2rNNIZwBZryRazOUcB4JwSUD2dbPn+nMyX/D9JtwA== X-Google-Smtp-Source: AGHT+IFfg0OCwWEMRYUiPQizPXRO2o7YEs0wKqKtPO7zo8D7aVRbDJ7EbHqqYSl0XTUs+TZh4jOOVw== X-Received: by 2002:a17:902:e743:b0:215:4a4e:9286 with SMTP id d9443c01a7336-215bd0e66b0mr128507385ad.26.1733371169518; Wed, 04 Dec 2024 19:59:29 -0800 (PST) Received: from [10.84.148.23] ([63.216.146.178]) by smtp.gmail.com with ESMTPSA id d9443c01a7336-215f8f29b4csm3059085ad.245.2024.12.04.19.59.22 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128); Wed, 04 Dec 2024 19:59:29 -0800 (PST) Message-ID: <4d3f1078-0938-4920-9a09-805a54643419@bytedance.com> Date: Thu, 5 Dec 2024 11:59:21 +0800 MIME-Version: 1.0 User-Agent: Mozilla Thunderbird Subject: Re: [PATCH v4 00/11] synchronously scan and reclaim empty user PTE pages Content-Language: en-US To: Jann Horn , Andrew Morton Cc: david@redhat.com, hughd@google.com, willy@infradead.org, muchun.song@linux.dev, vbabka@kernel.org, peterx@redhat.com, mgorman@suse.de, catalin.marinas@arm.com, will@kernel.org, dave.hansen@linux.intel.com, luto@kernel.org, peterz@infradead.org, x86@kernel.org, lorenzo.stoakes@oracle.com, zokeefe@google.com, rientjes@google.com, linux-mm@kvack.org, linux-kernel@vger.kernel.org References: <20241204144918.b08dbdd99903d3e18a27eb44@linux-foundation.org> From: Qi Zheng In-Reply-To: Content-Type: text/plain; charset=UTF-8; format=flowed Content-Transfer-Encoding: 8bit X-Rspamd-Server: rspam04 X-Rspamd-Queue-Id: B3CB010000D X-Stat-Signature: rp7fudmxzkbgqeksbeyxiio73k69xxew X-Rspam-User: X-HE-Tag: 1733371141-96059 X-HE-Meta: U2FsdGVkX1+WPO/a6JS3LfZlNrhw1vKvgWvVwZuk5p88/GFgZSQFZYW2A44XVaVGRU8B1B3W9C07jSj1TQ/OqcQzCt3er+CEL/lLpCJL1ZhNxqUM0SDMhOANiXmqAIvjCyJC/48bBdJ705DlQh6GBEKLOUjFICwP8YHedAUyTt+1sB9221Ot/F8W9wVlCLFvqWl3xp/rVjn6DhxWoLaUN18kRR7E4UjWRYEXX2HoIbRSzG1RKJ3KdSTG5GJ3FdoXeYjHZxDpckppuMvdszd2ymR49Ra3xPUfLbODeZUNgutaxmAU5T9EAbIlo/P3tkP+HC97T3UMX4AEseUMs6vMd42Z21tH+8Yu21KfLHVXdCc/5ijpfdqCpeHl4i11A6rxpHNU4qSaUJAfUjyOqmEOvvpjypLRYvGI+XhLnnOSB6ZIrj/IS5MNmipSdVe3YGF0T7HgPLXrcSepnF3lXidKuFei8G3WP5/ZgwA/z5Cc9kkC2umEndc+H9WWrCBAf/Th6jlsMhLBTeoQGhPwny+gJU9vvxp0Ln98erMaWeFSJJHF8xZC7OL3egZagE+454fgUTTBduvYnCkkGx4IY87jO/j7F5J3X4ZoZgkwOg27N2ootZPJdoGIxlG/jaUOYLhXiHhPxhED3uMP9h8ImcqzqquvEJKcfXXdV3+E/6P9Z9YYEa7I+y/wDLJdPkytsCPRMenNhf7+hbpeyyaQWCnR4cFXTEMTjMFR5PSXbjxDZvAop5Rp7pzD8LPpksoUmMDH6ZoAgbkhUW5MFVCtxxM6Jl81kaJJPOKqvnZ8z0139nyhHJcs7YQHwW5tjHl3RYKbHgF6md4FIJS/OObzBIkJswtnpVZ7FfmB1VrWf4KJQRZGyFtypua3eYJSVrgUtqZWToWn2KcM5ZEGYcNpdKAPM82KlUDsm8d+Nmu6zxMEDjtYftDVK0TYqdKVDN336g7q1ix7MgzNcyPVSDiWBGb TXncCVkP J81aIEmPFXN6/MeZFFPLCOhU3XYuXti04/tn5fkCTbi2klFfsudr/P7vQqAJJRCt9iOS/Gk6BJP1Odz9JXLRn4nrCqj3L+KxtOwHmhmDHLIH94UrNwuOlMDyVHQCLE8vQwdQOMyxDCVrWTcaYSVu6Q8h1iUXjDJOkyYBDFWBBIJQATNKk3xY7x1PBPwW7smTFhrsVW8Jl21b78lQ9X8kBpcHEmeKtmhiIz6gKkAlmprfPb/0aKPZ3l+Dh9/pC+tyinoY1GiJYfkeJ7LkwgXn9ZDFi9Ip16q/dI9RO5b4QU3UL2H4oO0Tv+UYKLY/WAQ0Uuj2ebRE53FZpNKmCK7cgE5lcTdn5JcmAOn648QXHZQ4WOTeO5ZtcqriEYaxrO6oAjX5OcYCQtQVGADIf45DmvCcTKYYxcP93Ez4txPglqCSD6Ka4EAwtH+GjWUqKepv+K2yU 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/12/5 06:56, Jann Horn wrote: > On Wed, Dec 4, 2024 at 11:49 PM Andrew Morton wrote: >> On Wed, 4 Dec 2024 19:09:40 +0800 Qi Zheng wrote: >>> But this is not enough to free the empty PTE page table pages in paths other >>> that munmap and exit_mmap path, because IPI cannot be synchronized with >>> rcu_read_lock() in pte_offset_map{_lock}(). So we should let single table also >>> be freed by RCU like batch table freeing. >>> >>> As a first step, we supported this feature on x86_64 and selectd the newly >>> introduced CONFIG_ARCH_SUPPORTS_PT_RECLAIM. >>> >>> For other cases such as madvise(MADV_FREE), consider scanning and freeing empty >>> PTE pages asynchronously in the future. >> >> Handling MADV_FREE sounds fairly straightforward? > > AFAIU MADV_FREE usually doesn't immediately clear PTEs (except if they > are swap/hwpoison/... PTEs). So the easy thing to do would be to check > whether the page table has become empty within madvise(), but I think > the most likely case would be that PTEs still remain (and will be > asynchronously zapped later when memory pressure causes reclaim, or > something like that). > > So I don't see an easy path to doing it for MADV_FREE. +1. Thanks for helping explain!