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 C3822C77B7F for ; Tue, 16 May 2023 08:21:26 +0000 (UTC) Received: by kanga.kvack.org (Postfix) id 62D8C900004; Tue, 16 May 2023 04:21:26 -0400 (EDT) Received: by kanga.kvack.org (Postfix, from userid 40) id 5DE0E900002; Tue, 16 May 2023 04:21:26 -0400 (EDT) X-Delivered-To: int-list-linux-mm@kvack.org Received: by kanga.kvack.org (Postfix, from userid 63042) id 4A601900004; Tue, 16 May 2023 04:21:26 -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 38CD2900002 for ; Tue, 16 May 2023 04:21:26 -0400 (EDT) Received: from smtpin09.hostedemail.com (a10.router.float.18 [10.200.18.1]) by unirelay08.hostedemail.com (Postfix) with ESMTP id 02F7E14012A for ; Tue, 16 May 2023 08:21:25 +0000 (UTC) X-FDA: 80795423772.09.BE626EB Received: from pandora.armlinux.org.uk (pandora.armlinux.org.uk [78.32.30.218]) by imf20.hostedemail.com (Postfix) with ESMTP id 4487C1C000A for ; Tue, 16 May 2023 08:21:24 +0000 (UTC) Authentication-Results: imf20.hostedemail.com; dkim=pass header.d=armlinux.org.uk header.s=pandora-2019 header.b=uKE8c0A5; spf=none (imf20.hostedemail.com: domain of "linux+linux-mm=kvack.org@armlinux.org.uk" has no SPF policy when checking 78.32.30.218) smtp.mailfrom="linux+linux-mm=kvack.org@armlinux.org.uk"; dmarc=pass (policy=none) header.from=armlinux.org.uk ARC-Seal: i=1; s=arc-20220608; d=hostedemail.com; t=1684225284; a=rsa-sha256; cv=none; b=IShCr9jOrILB/zABtihAxa5JSExFPMRLKDTe51CeplfINML9lFy42uiUfaOaA2/f+g3VlM nao+6Ty+UwZ8x2MqrljCCXQGrrRqFlyDkMjqHf6sXkAMw7M/B64HxwqgOnYcmxKrbEiLs1 RqNwHPaGjDIXCZOfeEvVuCiJg3anA2g= ARC-Authentication-Results: i=1; imf20.hostedemail.com; dkim=pass header.d=armlinux.org.uk header.s=pandora-2019 header.b=uKE8c0A5; spf=none (imf20.hostedemail.com: domain of "linux+linux-mm=kvack.org@armlinux.org.uk" has no SPF policy when checking 78.32.30.218) smtp.mailfrom="linux+linux-mm=kvack.org@armlinux.org.uk"; dmarc=pass (policy=none) header.from=armlinux.org.uk ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=hostedemail.com; s=arc-20220608; t=1684225284; h=from:from:sender: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=R2GXU7JlKwAojJazccAAXFQzWESiT3QhiSirlHSzbD0=; b=JtKrUJANg8LBgUAiF8EvXCFXk8b8HFssEzg4hg/AmylTm36yICDhjShoAZcVMqKGr0aWzd hPp6jXoFpQlU4VVnoXSFcaHvrFMDdnn9dcF0Hj6PNBGLUhW4QedDpK5+6HTwfBYCcjUThq n6nYuJGkq7V8J4GJuZk/8bSdvZOexNQ= DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=armlinux.org.uk; s=pandora-2019; h=Sender:In-Reply-To:Content-Type: MIME-Version:References:Message-ID:Subject:Cc:To:From:Date:Reply-To: Content-Transfer-Encoding:Content-ID:Content-Description:Resent-Date: Resent-From:Resent-Sender:Resent-To:Resent-Cc:Resent-Message-ID:List-Id: List-Help:List-Unsubscribe:List-Subscribe:List-Post:List-Owner:List-Archive; bh=R2GXU7JlKwAojJazccAAXFQzWESiT3QhiSirlHSzbD0=; b=uKE8c0A5rCP/zYqENhnBKV8G+X e5yjrlhqkPhdZR9YJC8uwcHRtqn8hn64Ode2oYbHTMsg1cKPsVlWVMm926S06+VnYqbSZyKzRHZAZ Db8qF7+vS1N77ma2Q6SPdgJG1w/LdOMUviGRRj27azbXZbMkOdKVBTDATbMMJcBsd42nXARB3Un43 d4VpDWUBONACA3CCEl70nnYkCJnIeetMz8/uyCCb+kT/bk6Sx5wJvK6WbxTZoY3HMTTju/mB6+otl Xh+wk131sC//YBvWJw/2FQOyc28k2XGaDwr0WKEQQKEMXzZsP7kHDRyctpNYc0ZbRGWTvb+S94Tm0 irB+FBUw==; Received: from shell.armlinux.org.uk ([fd8f:7570:feb6:1:5054:ff:fe00:4ec]:52892) by pandora.armlinux.org.uk with esmtpsa (TLS1.3) tls TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384 (Exim 4.94.2) (envelope-from ) id 1pypvu-0005M3-Dt; Tue, 16 May 2023 09:21:22 +0100 Received: from linux by shell.armlinux.org.uk with local (Exim 4.94.2) (envelope-from ) id 1pypvt-0000e8-NW; Tue, 16 May 2023 09:21:21 +0100 Date: Tue, 16 May 2023 09:21:21 +0100 From: "Russell King (Oracle)" To: Thomas Gleixner Cc: Andrew Morton , linux-mm@kvack.org, Christoph Hellwig , Uladzislau Rezki , Lorenzo Stoakes , Peter Zijlstra , Baoquan He , John Ogness , linux-arm-kernel@lists.infradead.org, Mark Rutland , Marc Zyngier , x86@kernel.org Subject: Re: Excessive TLB flush ranges Message-ID: References: <87a5y5a6kj.ffs@tglx> <87353x9y3l.ffs@tglx> <87zg658fla.ffs@tglx> <87r0rg93z5.ffs@tglx> <87ilcs8zab.ffs@tglx> MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline In-Reply-To: <87ilcs8zab.ffs@tglx> X-Rspam-User: X-Stat-Signature: feut4kw8dqopm8h3sjkebbpsggzn7fa7 X-Rspamd-Server: rspam08 X-Rspamd-Queue-Id: 4487C1C000A X-HE-Tag: 1684225284-730525 X-HE-Meta: U2FsdGVkX19GR5mjUjuGGaHOkdjWIv6vZP4cz2fQmxK9uhynkeDBvYHeu39ggHPm3ZhkgIKrs58TlZpG/M9Z5HeA3SSqE9byBESBClKpQXJO/Jks8G8FbnupkCfoNsl98hyS7ve2VZezo/h092IvH3lR9/UqBdPlEh034scyyXWVhvINW7OK7i1Bkm2V4Y9rG6FLHWVzSIGHsouVWotOeZ6Vcwn/E+0cHf9FcOMdYvqCSAYGd6da9zLj5QxRJtfJM8vRwsGIPmplErsHiSDYQPN6lx0XTZLax4RyyrFiJEa0wu7c8sxZVBiFNtsCBAfI7G2RHERFnbDkROV+l9XbhCvEN/a/FmfMaKlCK6hH49+JGgnOx1yBOYbCRy7NgzGBSDVKTwwDCg/mNN1nUMdR3A2uaOqL20zXcBaTDMWDzKW+j8OsF16D/Mlda8r8KvNPd4vW5LL7LaAN+4yo5O9RZvqqFcrmTuQtHKilY2MzXn966ZxRpIhdglPe2nBO3SagE1PQYganEkeWaDWu87vUyIT2UrACXks9ZxbouIsywXOPUAm0MEY8jmt2FO6271YDVsLuu13Nvuqtu5/00BZC7nfA39ePHw3G84+tVUK1GcHxlsqLVOb10LPQtB2Bzp19JArgpTRcwxGBFdyYJUpOQr33R+FH3r3aG3fhxDLv2mMBcJ6dyJEeLg4BQDPLrmOj+4AGnM2apVWvWifHRns7aUPl5uf5QyWdlXKOOyG/5tTSqUTHdN9/lL6KUvcKtHSJ/5e8sRn/ay0yOKU6ULIQPmHYmPueXd0NqR8qBoisk6ZC9k1FeyQRXxI7B9wv6v4XEFkdUiVRwwYFT635kGNAsMUE03mQM/4e1vCB5dtc6nRNb4yN4WnJv+tJxiHgRdg8ixJwRUip9k3Qk/DKROFj6SHT8UdUa2K2aJcm6peGIS38WwXWLElnkKMD7DlJJhH2jwdrE+ItFgIvJAMP6Z8 xxMQ0VwF P9rWV5UiCGGCMF5+D0MchoNzrsAyks1bvRclvbV0OWURXpGWDGeyiON+w9ztYpLp2rMgAnCK75UXVKeFaFN8x1Wwdgs8TCSlvcgZ6Qs2RwbtsvCPjpCzE/8/kqnE6eTEF9RaNmwuwAoOqLdCCDbQJ5syTWOH4+YjRd7MJZgAKXUstb4/il/muTQclZJqpr0hMm/+40iQyPsfCsX+1mZjAq5KUSqHiAUmPxWCceoUxiz32kUh/ZkiJ1t9QCuLv1xeOXsi/jcpG+tUeN1E8i8W3OyjH+n7sxDzZNFP7go/cqVwuBUySGzFixKPWvoK8dtvy6pa1ebIl6Lt3vvtv6zxIantbb06DTWKiCce4z1o+1idoQqescCIENpOwz5QEufkzuA/qD9O44VPtNELQZiidgBC6iZINc7hu/qOc2S7djpmSGmWyZ3J+Z34bfoZtob6QVQfr28RwQ5HHLkXybjJSBOeRKXVB3jcLXSsRuXuMLC2ahxywpFnSuRuHMDoBwvhabZn67gPUdv2/XVG+QaqoVsPT3eegxliV4nDOv0Cq0UIpqEFE0ojmOesMIw== X-Bogosity: Ham, tests=bogofilter, spamicity=0.000001, version=1.2.4 Sender: owner-linux-mm@kvack.org Precedence: bulk X-Loop: owner-majordomo@kvack.org List-ID: On Tue, May 16, 2023 at 10:18:36AM +0200, Thomas Gleixner wrote: > On Tue, May 16 2023 at 08:37, Thomas Gleixner wrote: > > On Mon, May 15 2023 at 22:31, Russell King wrote: > >>> + list_for_each_entry(va, list, list) { > >>> + /* flush range by one by one 'invlpg' */ > >>> + for (addr = va->va_start; addr < va->va_end; addr += PAGE_SIZE) > >>> + flush_tlb_one_kernel(addr); > >> > >> Isn't this just the same as: > >> flush_tlb_kernel_range(va->va_start, va->va_end); > > > > Indeed. > > Actually not. At least not on x86 where it'd end up with 3 IPIs for that > case again, instead of having one which walks the list on each CPU. So what the best thing to do here is up to the arch implementation. Maybe generic code shouldn't be making the decision here about whether to call flush_tlb_one_kernel() or flush_tlb_kernel_range(). -- RMK's Patch system: https://www.armlinux.org.uk/developer/patches/ FTTP is here! 80Mbps down 10Mbps up. Decent connectivity at last!