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 E9613D3C544 for ; Fri, 18 Oct 2024 02:58:52 +0000 (UTC) Received: by kanga.kvack.org (Postfix) id 3E51C6B0089; Thu, 17 Oct 2024 22:58:52 -0400 (EDT) Received: by kanga.kvack.org (Postfix, from userid 40) id 395396B008A; Thu, 17 Oct 2024 22:58:52 -0400 (EDT) X-Delivered-To: int-list-linux-mm@kvack.org Received: by kanga.kvack.org (Postfix, from userid 63042) id 25D1F6B008C; Thu, 17 Oct 2024 22:58:52 -0400 (EDT) X-Delivered-To: linux-mm@kvack.org Received: from relay.hostedemail.com (smtprelay0015.hostedemail.com [216.40.44.15]) by kanga.kvack.org (Postfix) with ESMTP id 0BA986B0089 for ; Thu, 17 Oct 2024 22:58:52 -0400 (EDT) Received: from smtpin05.hostedemail.com (a10.router.float.18 [10.200.18.1]) by unirelay01.hostedemail.com (Postfix) with ESMTP id B53181C4469 for ; Fri, 18 Oct 2024 02:58:38 +0000 (UTC) X-FDA: 82685215410.05.82A5CAB Received: from mail-pg1-f182.google.com (mail-pg1-f182.google.com [209.85.215.182]) by imf19.hostedemail.com (Postfix) with ESMTP id B546B1A000C for ; Fri, 18 Oct 2024 02:58:36 +0000 (UTC) Authentication-Results: imf19.hostedemail.com; dkim=pass header.d=bytedance.com header.s=google header.b=jkQr6mdY; dmarc=pass (policy=quarantine) header.from=bytedance.com; spf=pass (imf19.hostedemail.com: domain of zhengqi.arch@bytedance.com designates 209.85.215.182 as permitted sender) smtp.mailfrom=zhengqi.arch@bytedance.com ARC-Seal: i=1; s=arc-20220608; d=hostedemail.com; t=1729220222; a=rsa-sha256; cv=none; b=nhKTPyBPhe1n2fhLYP6Q+ZjIAiy4+uc/PbC/Z9eAut+LOazfWELXuKXF8pAb2F+Jisq5q5 1w7rPZXkW4zZDrUBZhkekyubBl4Ul3SXb47Ba7loq9L8oguIvrazr3Q0nAcXHsq4S2UC4r h6pZT1HYPU+gRA+FkNwdN8JR+OnKOJ4= ARC-Authentication-Results: i=1; imf19.hostedemail.com; dkim=pass header.d=bytedance.com header.s=google header.b=jkQr6mdY; dmarc=pass (policy=quarantine) header.from=bytedance.com; spf=pass (imf19.hostedemail.com: domain of zhengqi.arch@bytedance.com designates 209.85.215.182 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=1729220222; 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=JwyzH+PQsFeYWv/1M1l2ZyltnCIO+EcAW6jhl5pXyOU=; b=iQqI8GN5N4YHnJug+nde6XKs+B54yplUM/+CI3hV2uE+dtN64+Rc94r7ZX8jZ18tOrWtux c/qH3HNSPT2QFOJKTLiJwtXrA+w9sf0YXAuJwgu+LEevNi4IygwSG2GwpMeeRKH6Ez9YZl l/SyI/flacJvh9DJJERvNIXB5qAM9n8= Received: by mail-pg1-f182.google.com with SMTP id 41be03b00d2f7-7ea7e2ff5ceso1344471a12.2 for ; Thu, 17 Oct 2024 19:58:49 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=bytedance.com; s=google; t=1729220328; x=1729825128; darn=kvack.org; h=content-transfer-encoding:in-reply-to:references:cc:to:from :content-language:subject:user-agent:mime-version:date:message-id :from:to:cc:subject:date:message-id:reply-to; bh=JwyzH+PQsFeYWv/1M1l2ZyltnCIO+EcAW6jhl5pXyOU=; b=jkQr6mdYyn7dxytUjw8OkS70vREYvLeYr9PSdPgbtAisvfvynTB4UhLKhwtHhLes+r u+dXnk67cBVAnpx3e/gt3eMQkyHEE+HWSiBBf/VbMKKjsKQTzLgT4552xO/dZYmP074J OEso+FZXJgglocX7gOIu5yOliuroYqaVlqiuYtuzNX49sWeu6gFaasUeCL/QBzbYo3Er yLcoAKCzU4vqFiGr53D2SYXgXCKgeNOoak490rZvCNS238Rzw5sLTyYjMyWBq50Bkwrb nq1A816G7mqSFiz8xvBPm9g08LWCZ/20Tw3kDpjQdAK3534rQojpprXFhM5aAamKqByU bd4Q== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1729220328; x=1729825128; h=content-transfer-encoding:in-reply-to:references:cc:to:from :content-language:subject:user-agent:mime-version:date:message-id :x-gm-message-state:from:to:cc:subject:date:message-id:reply-to; bh=JwyzH+PQsFeYWv/1M1l2ZyltnCIO+EcAW6jhl5pXyOU=; b=UjEMQWnimCDcbfKr4Hrv0fv9mJ7nOB3TqZOh+OEpeQlrg6WnJGxjGhvxrm6d/bYCY6 h1PYLJ3rqNKEFqkUOsW6ysaUNcaKblE8hjbCsoD02p0oxKdwQ3YK/8uJB2YBODOCZHHx jwOEQ3fwsAomUfNYdTT8CB9Rg8g+2c0DVMrwpfX2UZN4+5XKUvdxopNmrGfrOBYrKkQA pah7P7O641W3ptGmD5fVnDIAUUiX9E4G+5ViCqzSWX39/Jmh/7MuzmyxU02Gd7+hWeEL 98KXn7shv3VyzPOCipOo7fDo8BdBrJPoZ6aLHfwjKFuVWm7gFfPzFNWBmch8mKWiwlWO jUfg== X-Forwarded-Encrypted: i=1; AJvYcCXfpv1C9JkMuLY+dQlqNa614CCLZV2Bm5eDGDH8VNY3ZlgvWz5Wah/XyvZjuGeXZ14d8ZcJTXswDQ==@kvack.org X-Gm-Message-State: AOJu0Yy8Jy1/VG+sHX4HnIDLfxedIzJdBXyUYVRvvJWE8Sy5ABxEsubw 2tRjEyGdMbwwygk7n2jYNMFHABaz3oMejIRwoZq2Y1MEns01PBMABnYPmV+5EOw= X-Google-Smtp-Source: AGHT+IGadGFVRM42mB61gyRJVOgsPCIBYVeKqm+uIwglN5rQCNOJRYXAKXI8WfaP/3JsMFJ7EZHc/A== X-Received: by 2002:a05:6a21:478a:b0:1d9:ce8:35c1 with SMTP id adf61e73a8af0-1d92c4e064emr1358466637.11.1729220328049; Thu, 17 Oct 2024 19:58:48 -0700 (PDT) Received: from [10.84.149.95] ([63.216.146.178]) by smtp.gmail.com with ESMTPSA id 98e67ed59e1d1-2e5611fede6sm526840a91.30.2024.10.17.19.58.42 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128); Thu, 17 Oct 2024 19:58:47 -0700 (PDT) Message-ID: <32c14642-462d-4b29-bcf2-997c068d0f59@bytedance.com> Date: Fri, 18 Oct 2024 10:58:39 +0800 MIME-Version: 1.0 User-Agent: Mozilla Thunderbird Subject: Re: [PATCH v1 5/7] mm: pgtable: try to reclaim empty PTE page in madvise(MADV_DONTNEED) Content-Language: en-US From: Qi Zheng To: Jann Horn Cc: Catalin Marinas , Will Deacon , 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, linux-mm@kvack.org, linux-kernel@vger.kernel.org, x86@kernel.org References: <6c7fe15b0434a08a287c400869f9ba434e1a8fa3.1729157502.git.zhengqi.arch@bytedance.com> <8068329c-c71c-469e-b2b7-5cb2e9d9671e@bytedance.com> In-Reply-To: <8068329c-c71c-469e-b2b7-5cb2e9d9671e@bytedance.com> Content-Type: text/plain; charset=UTF-8; format=flowed Content-Transfer-Encoding: 8bit X-Rspamd-Queue-Id: B546B1A000C X-Rspam-User: X-Rspamd-Server: rspam05 X-Stat-Signature: tkfi3czh1p1xam9nyxfmm9y7e4btdzs8 X-HE-Tag: 1729220316-451051 X-HE-Meta: U2FsdGVkX18dNbltSCZapI4UHwtrXeeYZzYbcWu6R583EUK90snm1MOD2TjqAZxB1N5tBEIkWlrw3mvlG2UODETKqMmC/HNF63yFsgwImJU+PuiyNQVqcqISzObJFllauZV6byd4kH8UnNPS8Dcgwbix3/vRiyqE+CZdH1ic2iANDvOuaQKszTu6gmypt4ekNrL9H3XkYm8HE5dqEcKXXII9rGUqewZTxCoqVsjq7mzlhrVW0CEV9jejh6HdzmJ1dCLQUqCBhPRdaqGZ+31ReLLUdTDPOiarUl3oPzsoenePrAPWoeyxsk0SfuEwXC8hDksI83WcjBIaflE7et1gdxk8g1ub6VUO+F22OwmAH5qZ0BHnj0sjee2WHW1QGYCvToyv/ImYcyXsXp7HnH2g3vef1sFvqH3YTM1DHCYg/WCg4kAGZVQ+hKdrnR+8OHmQf3vmDj7zT1N8ks1DCKbEW+HRqmrWM0DTQgHtnfgyVncQzQhEpu5rUo5ObrOeXJSCpB3t/ejqWvDTBhSIbJfst/82mW8tXcrOzqwtFMxP7y2hoCD95VeUQsCEfQ58skaNznU7ZXFbCZbtaxvvmeeFAmfSEK4aG4GD2KaIxKn4jwzPkH2icexLiQWcLoAv1at+i49Q1CkcN5B/dWqbn1lXXTX3AtFeOApvhT8iXB3z8B0mifSsgp9rryqS0cl2X6m85IxyGX75bdwAovsiuhSR/7x8C8tAqNQpxXXpKfDsEPnS2LJU1GemwEqQTXTYsIIrSBi7Hxu9L55io4mZkKPZPaDcb3Ek9C1hycO2UvHgrEbLQ3IuuT04ncwMEbYuh9PyohsyfrPowPA0ZAtgLaAQdvFRKHbrVhsmeQpqyi7XbocB6Lg2uFCPCqnAt3cKxODUgJP/v6NF3fcmca27J31XuuMgRg5Yyphz0q86r2PrFuyN+a1f2RVbX0vt2GdYwsR72d2MgNXTKgi/aEBhHEC EGy5DePK o7Q7mpgPVJD3AZM79yM+SUTwFalfaEgVZjWfjmUiJsbIIymTUyzcp45guUxmecvUzUgOFe+QOUFCDTupD0W8OhyN+6aZTi+GwSlG9UBROM8v+jEnA0ItphAjr6NoYRIBMEMQQjMrM6XCa/Su5Wd74kY7USBuV3E3NFA8JnlZlWRginLK6GDay1cPAwMqhITtOhLMLDrGDuJwblWN7cz5l6C5xwf0r+1PIC6WPWdrmvWxKgzAt+7BOLmKybvcu3/uz0UjdM88AHQicSW0qXdE9+n39EB/j6w4kX3ZG+CoXWP0a8Uai8Cem6QLTP8ezbua5J33frNBYZO0xYRY5rpGcig5E+C0aqTZeJVB1qdHKzAYtwr+wTJXUqlCm1uZHXI9m6m0t2jGd23eDIcqWZDsWXCNh0RAthAQBI4yIRYPdLBfLUjhftreuyrs7tn3cTr3izXBCeVpqjjroD/8= 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/10/18 10:53, Qi Zheng wrote: > > > On 2024/10/18 02:43, Jann Horn wrote: >> +arm64 maintainers in case they have opinions on the break-before-make >> aspects >> [snip] >>> + >>> +       pmd_clear(pmd); >>> + >>> +       if (ptl != pml) >>> +               spin_unlock(ptl); >>> +       spin_unlock(pml); >> >> At this point, you have cleared the PMD and dropped the locks >> protecting against concurrency, but have not yet done a TLB flush. If >> another thread concurrently repopulates the PMD at this point, can we >> get incoherent TLB state in a way that violates the arm64 >> break-before-make rule? >> >> Though I guess we can probably already violate break-before-make if >> MADV_DONTNEED races with a pagefault, since zap_present_folio_ptes() >> does not seem to set "force_flush" when zapping anon PTEs... > > Thanks for pointing this out! That's why I sent a separate patch > discussing this a while ago, but unfortunately haven't gotten any > feedback yet, please take a look: > > https://lore.kernel.org/lkml/20240815120715.14516-1-zhengqi.arch@bytedance.com/ More context here: https://lore.kernel.org/lkml/6f38cb19-9847-4f70-bbe7-06881bb016be@bytedance.com/ > > Thanks! > >> >> (I realize you're only enabling this for x86 for now, but we should >> probably make sure the code is not arch-dependent in subtle >> undocumented ways...) >> >>> +       free_pte(mm, addr, tlb, pmdval); >>> + >>> +       return; >>> +out_ptl: >>> +       pte_unmap_unlock(start_pte, ptl); >>> +       if (pml != ptl) >>> +               spin_unlock(pml); >>> +} >>> -- >>> 2.20.1 >>>