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 B42CBC02188 for ; Mon, 27 Jan 2025 20:55:28 +0000 (UTC) Received: by kanga.kvack.org (Postfix) id 32DB82801AA; Mon, 27 Jan 2025 15:55:28 -0500 (EST) Received: by kanga.kvack.org (Postfix, from userid 40) id 2DD7E2801A8; Mon, 27 Jan 2025 15:55:28 -0500 (EST) X-Delivered-To: int-list-linux-mm@kvack.org Received: by kanga.kvack.org (Postfix, from userid 63042) id 17DF12801AA; Mon, 27 Jan 2025 15:55:28 -0500 (EST) X-Delivered-To: linux-mm@kvack.org Received: from relay.hostedemail.com (smtprelay0010.hostedemail.com [216.40.44.10]) by kanga.kvack.org (Postfix) with ESMTP id ED2892801A8 for ; Mon, 27 Jan 2025 15:55:27 -0500 (EST) Received: from smtpin03.hostedemail.com (a10.router.float.18 [10.200.18.1]) by unirelay04.hostedemail.com (Postfix) with ESMTP id 716221A06F3 for ; Mon, 27 Jan 2025 20:55:27 +0000 (UTC) X-FDA: 83054437494.03.58A9557 Received: from mail-ot1-f50.google.com (mail-ot1-f50.google.com [209.85.210.50]) by imf05.hostedemail.com (Postfix) with ESMTP id A1A39100018 for ; Mon, 27 Jan 2025 20:55:25 +0000 (UTC) Authentication-Results: imf05.hostedemail.com; dkim=pass header.d=google.com header.s=20230601 header.b="fp/TMH+8"; spf=pass (imf05.hostedemail.com: domain of hughd@google.com designates 209.85.210.50 as permitted sender) smtp.mailfrom=hughd@google.com; dmarc=pass (policy=reject) header.from=google.com ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=hostedemail.com; s=arc-20220608; t=1738011325; 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=gtNyaQZENeD0DxRfJZjJ+rbicuEc2Uoje+9OeN7mxRc=; b=WEl3y3Rt27YUdlWRCAfWPyudjdkSav5rOvIx4xWRRFjQD0qZ/suXV8b88offy5oS0faPpr ZGl3oGWY9l/iAupRLTmMAVgD0E2tX5O4yW8NsNS3vrC6HGXW752eyFgVPoqh0BcmCwCO3V pwsu/KEamEKwHJn+wGzy4pcepqE4Zw0= ARC-Authentication-Results: i=1; imf05.hostedemail.com; dkim=pass header.d=google.com header.s=20230601 header.b="fp/TMH+8"; spf=pass (imf05.hostedemail.com: domain of hughd@google.com designates 209.85.210.50 as permitted sender) smtp.mailfrom=hughd@google.com; dmarc=pass (policy=reject) header.from=google.com ARC-Seal: i=1; s=arc-20220608; d=hostedemail.com; t=1738011325; a=rsa-sha256; cv=none; b=G+9jzI/g+wPbbCLtirHed3oph4bbQ9H2UMgbLev0MaL5j8gg9mrSmfwk8YNPitL1sG+Y6Z ZkT4V9H+gXEQq9yQTPqbzqRTR9SImz41IH/W2MUXAm3lA4dB4Yg23jPwB8+Ds2Hr/9krRL C+TzXgtgcsB9nIb3X2fIuGoLL8E/Kx8= Received: by mail-ot1-f50.google.com with SMTP id 46e09a7af769-71e565708beso2905814a34.1 for ; Mon, 27 Jan 2025 12:55:25 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=20230601; t=1738011324; x=1738616124; darn=kvack.org; h=mime-version:references:message-id:in-reply-to:subject:cc:to:from :date:from:to:cc:subject:date:message-id:reply-to; bh=gtNyaQZENeD0DxRfJZjJ+rbicuEc2Uoje+9OeN7mxRc=; b=fp/TMH+8srg+P2UsN3b90OukJMUTUa0yv4WugJ2GWUT/9muHnacyIpEtieTI/Vxabi gc0pr7FrxLjil02gKPc0Ek2CcwxLrPQF4uki63ap0fVMRwI9El1ekDRnqs0n692TGfpr 0QRpCsg9830M5ULC2+ztYO4mbDzV6/Otq5I5ABAEfuPXDSg1G5YNymj2bkedu5s4+hWi WTa59MICZu1AgSjIFClrWUNPc6bm2YIIG6sbyLeioeJGjKgqJoQHmhUuLHtqpY74KY2S tTUfU4vdJXlFM/nF3CovzczXgZxJLBn+VQnKCsBTjQVbgYXCivPwc36HxYzJQX2HSBw+ 7ZsQ== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1738011324; x=1738616124; h=mime-version:references:message-id:in-reply-to:subject:cc:to:from :date:x-gm-message-state:from:to:cc:subject:date:message-id:reply-to; bh=gtNyaQZENeD0DxRfJZjJ+rbicuEc2Uoje+9OeN7mxRc=; b=Fsy1tCYzIJySMnY7su7dFrVHq8jtq2VXXQo6GWzaDb0U8PX46W4QammpBnHctxYWFg TCNlRLdIJCQp82Il9Xv6KNCHjon5Psxlwpv5HJKocv+p/l873tS/KTAbJ7ErvMglLxat Mao91tQjljG4zJHe9xn9vni387ootZC/Sj7+IkzMs2Ok8c6YSdltTFMcnZfw5eVs7cJv bm48ZggVkY2t1DJfTUIx4ldGIRtFjl+cOBnrO5Tbm+cYHemxZgtu1rc+FEtNeH9YEIWy 0knAkExCVf4aSOjAqHZzZ4tCptxIIzs/iMe6LH1P3IZ1I50sFbTd0jj4bQkTy86Dzedq hCHw== X-Forwarded-Encrypted: i=1; AJvYcCWHhkJ2NkBySyzhZI7UueOILiYxugJ+CjtG5X1BZHU14ZDckTterX8qF6b03okRRvDCAWLqaah6HQ==@kvack.org X-Gm-Message-State: AOJu0YwpUDaoX9UI4EGz0BCvJwDI/+IkGmmGe5rY34RiRbdkqw90K4r/ sRB4vACrP36AdU623BUA96iFhEtVCTXCMpauCx872epCAooY9rfDwDWAvyp29w== X-Gm-Gg: ASbGncuTDTGss3XTBPLIlrDVlvRaUa4gCKHNjDm5q84CwWqqPiWJ06d8X2idK0NMihq 5jjcelnucpsK0afmezLM3oyprdBl9d9DTtHizjP/Tr+dWqBu0PAKfhI4oZpAcH9iCxVDjfhKXCd U/amCkiUZbTpdCy0d5wM3tPibnkT+lqDC8n7Td6HEYUBcgMHuSEwVvtKnGakBdU5B/3je/T1JBY TieDdOtjAbycLtK+85HnNUI274eev0aq4EELY9GAFU7OaOWU/OUV7pB6d5nZ8mJORvMIXUN0QFv B3pE9k5Y3RrchKb82fxOvDT6mnFuF1sPgT6DlQHrSY1HVT5ZXhyWuyqi1ZZhzONd X-Google-Smtp-Source: AGHT+IG7mxID1E1Wnbon1hYK72BJDX6j1zpH+6xmheGxineJU0WZO3bKoLO8VEhR3un4OSnRY+1/sw== X-Received: by 2002:a05:6830:641a:b0:71d:eee3:fd26 with SMTP id 46e09a7af769-7249da56939mr25255340a34.4.1738011324598; Mon, 27 Jan 2025 12:55:24 -0800 (PST) Received: from darker.attlocal.net (172-10-233-147.lightspeed.sntcca.sbcglobal.net. [172.10.233.147]) by smtp.gmail.com with ESMTPSA id 46e09a7af769-724ecdecdc1sm2462473a34.36.2025.01.27.12.55.23 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Mon, 27 Jan 2025 12:55:23 -0800 (PST) Date: Mon, 27 Jan 2025 12:55:11 -0800 (PST) From: Hugh Dickins To: Roman Gushchin cc: linux-kernel@vger.kernel.org, linux-mm@kvack.org, Andrew Morton , Jann Horn , Peter Zijlstra , Will Deacon , "Aneesh Kumar K.V" , Nick Piggin , Hugh Dickins , linux-arch@vger.kernel.org Subject: Re: [PATCH v4] mmu_gather: move tlb flush for VM_PFNMAP/VM_MIXEDMAP vmas into free_pgtables() In-Reply-To: <20250127195321.35779-1-roman.gushchin@linux.dev> Message-ID: <61e3ea6a-368a-640f-a050-b56c8d3232b5@google.com> References: <20250127195321.35779-1-roman.gushchin@linux.dev> MIME-Version: 1.0 Content-Type: text/plain; charset=US-ASCII X-Rspam-User: X-Rspamd-Server: rspam09 X-Rspamd-Queue-Id: A1A39100018 X-Stat-Signature: hh9drfdpgpgfqx9qye5qhseff84649fc X-HE-Tag: 1738011325-364123 X-HE-Meta: U2FsdGVkX190qiqmAxqY63evVZ6Lr6pu/a/8YrwjLRaCaZkL8QWxcKaUuY6QMGCW5hl7S43xCUJSnsAvwYk5gFfiuMgYJTq5sRBmHrtUzp+FEj0AJvDbHXvQduT87e3oqtNeCwU9SyI0CtzxgOu1DWjuNQwGFzcKv3MwlHX9QSoogXtiRXHLeT7tzJXvo7mpbuKZXl+GCP/ncO9XRjA3dlqW6kU+QKkmsheTwgNcVYzPNWHBpo8Zqgsm9seD9BWb2b2qoUJgXcI9JlvKO/4zjvsyKY5JDJAiC3UkMhfKj9Y/LiPucl3YRSsQQJlBlb2OKlqogZiTdOXGgjEb49tk3b9b7hjw7+e4bTsIcPdEGV1X6Mbz9Cb+eJT0L6lzwlgzxHGyIkcdkKJpNUC1V8N6QHwoKhvtfH3zlPs8cCpDTKtGKpVJLJfSsYRwU7DRegC8FgYC6G4RBcp4IXh9d6W99zc939xPxa41qaPjJ8jFRU8rCN7d/WU0W9sgQ5VU5wd/8IA21m9DHn17V1Kfc9QGgKSgAgTG0SYud5OqGWWfHGn8YUNvrAMcatwgwv8jMcPEizNKBmrOWy/sROm5XkdN27yq8JMB5vrHnRdYGKdQ9igg3tRobLJ1hfOwPTvCH/dCBQ/5aAFw1aHiMCll9xKOXd6h7y+jQPTs4o6gTAiKF3UaoaHx+Za0wxHrd+Jx6ewJ/GVqSgCf8s6qHLqNjqab5E8KCB4VdEkujJcQIBSOzM3J0XEQcqWej0/ipFEwvXEDIZANWK83v2NSwVhh8kRBJYHKZuKkezgfujGGDCVVPm0l4sNuVXJT4mK+EZIWR07cjM6rB+LXGMHsNlhdvG6jE/PWKihKF466sqma82obFonajRoqpDVG7aQZEZDQEqxp4ViihIw0qF0QlJhcuEfsRW2hAxOgsmxQ55S24jS5VI3MUJi8UevM8X4F1jsyDuxo877vPLm0eT8LQqJ0xtT rAr4t5Qo AYZ7uT4IbrWo1+tsrq4tNkjErRU6QbxnOlTrGsQ96q6iPV5JPpEbUzZOhTOYtG93CjuwyNHttWCa/jbebNEUc5o/8e8/jxLtMiYi5QusLZmUOozfAaudSyayBtCvadyY6PYgl41uDBwiUWJAFPaviKuLqvWpDyWyhqP8y+vkFLsZziule1bHbtincHmPVNylZ2RofJPr3u7knqBytfu4XrZy3YSk3QrAAYt5S2svNkVVBoFWGD+HiXC9YKYUUnldJLdobLY1Mn4aZP2crH15TPI5Gh9vvi9eii6OAHe1ix8RC0alCXKcbM7mn7eM/t3L1HR4szALS6mMAuHxw/kVjUrkfSM3QsKYYoVZryl0TBlDgk56gS5UcL1SrpYLwcjGmO//8ihmQ83JmMoggXREmGRQ6BpNq7EdKQ2iSWCude6dE7BPPaT6XnT+9qIGK5JbUm6I01KiZXG4UX1ms0AB3JF3YmCZlJPMY4RVvY5Fn5K9MAV5g4bML0KBmkei0lukca4LcPoCfQ+X9/B2gbNL2xgDd3gAMnTN3+CrEzQYXA9/QeKPwJVbL6WlCLBqxsTaMhZ0i0UecCJSuS+153D2BR/06F3rsbq/6pwKkhQ5KdrLdEp1W5RiBZN7pRA== 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 Mon, 27 Jan 2025, Roman Gushchin wrote: > Commit b67fbebd4cf9 ("mmu_gather: Force tlb-flush VM_PFNMAP vmas") > added a forced tlbflush to tlb_vma_end(), which is required to avoid a > race between munmap() and unmap_mapping_range(). However it added some > overhead to other paths where tlb_vma_end() is used, but vmas are not > removed, e.g. madvise(MADV_DONTNEED). > > Fix this by moving the tlb flush out of tlb_end_vma() into > free_pgtables(), somewhat similar to the stable version of the > original commit: e.g. stable commit 895428ee124a ("mm: Force TLB flush > for PFNMAP mappings before unlink_file_vma()"). > > Note, that if tlb->fullmm is set, no flush is required, as the whole > mm is about to be destroyed. > > Signed-off-by: Roman Gushchin > Cc: Jann Horn > Cc: Peter Zijlstra > Cc: Will Deacon > Cc: "Aneesh Kumar K.V" > Cc: Andrew Morton > Cc: Nick Piggin > Cc: Hugh Dickins > Cc: linux-arch@vger.kernel.org > Cc: linux-mm@kvack.org > > --- > > v4: > - naming/comments update (by Peter Z.) > - check vma->vma->vm_flags in tlb_free_vma() (by Peter Z.) Let me just put on record: you were absolutely right not to extend to this the Ack I gave to v3, this v4 is silly (tlb_free_vma() and its multiple calls, necessary only because of the unnecessary extra test); but I don't see it as doing any actual damage, so I'll stop short of NAKking it. Hugh