Received: by 2002:ad5:4acb:0:0:0:0:0 with SMTP id n11csp3055717imw; Mon, 11 Jul 2022 00:16:55 -0700 (PDT) X-Google-Smtp-Source: AGRyM1szWJNjPKv5ha8AM1tCxtFzSYpp82SFYet5cW+IsvECQyG04Ocl+qeWfzpcKVhaki1bYYqt X-Received: by 2002:a05:6402:400a:b0:43a:40e4:af89 with SMTP id d10-20020a056402400a00b0043a40e4af89mr23305414eda.383.1657523814741; Mon, 11 Jul 2022 00:16:54 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1657523814; cv=none; d=google.com; s=arc-20160816; b=c0PZ4x6gj4sMHEp14ftIi5UXaC+Ta55GLzjCJgIKNS0xdD/1lOtQ3rhf2D9X8027Gt G35IjldWHW4vptojvjoWYcFgebROdK/3zOgtbONgytxVwDUXqMEPwPJpV0izxtGZLuzM IPlo/H6mdkCyw4uTpAzoLGAoLJ/J/N5FN3dMTbm9oUQCS7gZXhF+A3vB1k9ugyA48lF6 XlP/UHIIQ8Y7caa1TKpYiFTfvPRs0z+xPUWT7FQNoPLrwtDLJMsi9eqlhubNrBeTwG95 f/EgdTBh+zPKuRDZFOjIz/b0fVmXhgP7FZF1IJeLoCLwBRODOS1I6PqQ/9sLeNmrOmu5 4A0A== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=list-id:precedence:content-transfer-encoding:mime-version :message-id:date:subject:cc:to:from:dkim-signature; bh=gadZ2vlA0vhG8v4UXRsB+M5kKIdI90uIBWjUdQuHTNc=; b=yWIxoqcWcPIBfuy+EYQLbEb9HOTJmZAdH7DATL6S6VMTvGdgcLO90dRypyHM68dlhT GkeLQcxzKbxKK9q0IPYS/YcCfucyve+nxjnj6gDn3HDgpwc0jatwoP/B+f3PYr77VfQl gksHYDtZIPviWvgCBEdI2cE+ghqzkm/8LnkOA4mpNG5XfyL6qnD2ukN9ygXs5B0R9ueE lBxlSR/XVoTCGxlBFaz8JRD/NY+jopc+ONQZB4488J/ctwlqSi3BMzIEBLHlv5B442mX RwECsTIAtQRjrEIOBVJDjpQn4kkL2/QMW4dnGb5rLfru3brEzjgMPDwvw1I4Xx7TtIp2 9rEw== ARC-Authentication-Results: i=1; mx.google.com; dkim=pass header.i=@gmail.com header.s=20210112 header.b=D5MgeewH; spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 2620:137:e000::1:20 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org; dmarc=pass (p=NONE sp=QUARANTINE dis=NONE) header.from=gmail.com Return-Path: Received: from out1.vger.email (out1.vger.email. [2620:137:e000::1:20]) by mx.google.com with ESMTP id um9-20020a170906cf8900b007269a9c3019si8277284ejb.818.2022.07.11.00.16.29; Mon, 11 Jul 2022 00:16:54 -0700 (PDT) Received-SPF: pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 2620:137:e000::1:20 as permitted sender) client-ip=2620:137:e000::1:20; Authentication-Results: mx.google.com; dkim=pass header.i=@gmail.com header.s=20210112 header.b=D5MgeewH; spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 2620:137:e000::1:20 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org; dmarc=pass (p=NONE sp=QUARANTINE dis=NONE) header.from=gmail.com Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S229778AbiGKHK4 (ORCPT + 99 others); Mon, 11 Jul 2022 03:10:56 -0400 Received: from lindbergh.monkeyblade.net ([23.128.96.19]:55556 "EHLO lindbergh.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S229948AbiGKHJu (ORCPT ); Mon, 11 Jul 2022 03:09:50 -0400 Received: from mail-pl1-x62d.google.com (mail-pl1-x62d.google.com [IPv6:2607:f8b0:4864:20::62d]) by lindbergh.monkeyblade.net (Postfix) with ESMTPS id EE04010B6 for ; Mon, 11 Jul 2022 00:08:39 -0700 (PDT) Received: by mail-pl1-x62d.google.com with SMTP id z1so3715329plb.1 for ; Mon, 11 Jul 2022 00:08:39 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20210112; h=from:to:cc:subject:date:message-id:mime-version :content-transfer-encoding; bh=gadZ2vlA0vhG8v4UXRsB+M5kKIdI90uIBWjUdQuHTNc=; b=D5MgeewHNkpkpqDDGFH3D80y0Da/7tBDDUUtBY0dz+iSjWpsLsHib/uFA8dZ4NSr+M lFWnI+v3sWNqFBp9F761RtlFHl6/obN4DUkTE+nhabIQ30fIfV+4R43ptqfiFyNeti1c oJPELdFS6UJy3HwUlfVEd7BzB5GnTHE618HCcaG+ldnoeD+Z/sMAjVXbueiehq0/0fHq UIiZtNWXfrRp6y8cRvFBcbEmT6hy+/f02iG4/Hfz+migmqhSGMThOJhJLsgnaQY7wOs5 D9eU+zxxJQch59qxvc1EcAUyFYeSAcdTTLJmjqQWqOUCidQwrve+/03xHbrQMPVsXrxV sH1A== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20210112; h=x-gm-message-state:from:to:cc:subject:date:message-id:mime-version :content-transfer-encoding; bh=gadZ2vlA0vhG8v4UXRsB+M5kKIdI90uIBWjUdQuHTNc=; b=1m2yS1z7c26h7I95PZeaB+3GjGleDICUJGk/fGweuwsLeD/evP+OnaDGD63HUz5iNq BSZVdX8HHCowQOx1/YrsSpu5xKo3yHntPyk90D8JROr0/U28ImxyAvM5DgvSl5HtDi3r rqVJ8OM95qZdLiZrNZeJq+zRArpZ1BNoHbQnU8QGAEPbGwrKhNB+Qjn93QoC6oN9TQTt oXjgYT5TQCeg7JifrSSTugJv7JNHcP+O+ZK3e5ugvXs6CRtzUUx/Skjr8Vaz6xNKhCe/ hIuGQ4zN3eIwZmeknnIoDmFX/Jn4I2hS2z6mP/ev/bctgm2efQ4zg1S/s8X2dQ3GcBOQ zC+Q== X-Gm-Message-State: AJIora/YUvFGYQp1Rvje8NnvtU+fXgam0nzQzdnveZrJsXpV3UJ3zx2j wREJYTrtJ7wC/1MD5fgxY/G/2xTqbRQ= X-Received: by 2002:a17:90a:4704:b0:1ef:f369:bd0e with SMTP id h4-20020a17090a470400b001eff369bd0emr15844315pjg.20.1657523318876; Mon, 11 Jul 2022 00:08:38 -0700 (PDT) Received: from sc2-haas01-esx0118.eng.vmware.com ([66.170.99.1]) by smtp.gmail.com with ESMTPSA id o65-20020a625a44000000b0052ac99c2c1csm1945705pfb.83.2022.07.11.00.08.37 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Mon, 11 Jul 2022 00:08:38 -0700 (PDT) From: Nadav Amit X-Google-Original-From: Nadav Amit To: linux-kernel@vger.kernel.org, Thomas Gleixner , Dave Hansen Cc: Ingo Molnar , Borislav Petkov , x86@kernel.org, Linux MM , Nadav Amit , Peter Zijlstra , Andy Lutomirski Subject: [PATCH] x86/mm/tlb: Skip tracing when flush is not done Date: Sun, 10 Jul 2022 16:33:55 -0700 Message-Id: <20220710233355.4066-1-namit@vmware.com> X-Mailer: git-send-email 2.25.1 MIME-Version: 1.0 Content-Transfer-Encoding: 8bit X-Spam-Status: No, score=-0.5 required=5.0 tests=BAYES_00,DATE_IN_PAST_06_12, DKIM_SIGNED,DKIM_VALID,DKIM_VALID_AU,FREEMAIL_FROM,RCVD_IN_DNSWL_NONE, SPF_HELO_NONE,T_SCC_BODY_TEXT_LINE autolearn=no autolearn_force=no version=3.4.6 X-Spam-Checker-Version: SpamAssassin 3.4.6 (2021-04-09) on lindbergh.monkeyblade.net Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org From: Nadav Amit Currently, if flush_tlb_func() does not flush for some reason, the tracing of the flush will be done only in certain cases, depending on the reason of the flush. Be consistent and just do not trace in all cases when the flush was eventually not done. Suggested-by: Dave Hansen Cc: Peter Zijlstra (Intel) Cc: Andy Lutomirski Signed-off-by: Nadav Amit --- arch/x86/mm/tlb.c | 5 ++--- 1 file changed, 2 insertions(+), 3 deletions(-) diff --git a/arch/x86/mm/tlb.c b/arch/x86/mm/tlb.c index 0f346c51dd99..5c17b86b928d 100644 --- a/arch/x86/mm/tlb.c +++ b/arch/x86/mm/tlb.c @@ -736,7 +736,7 @@ static void flush_tlb_func(void *info) u32 loaded_mm_asid = this_cpu_read(cpu_tlbstate.loaded_mm_asid); u64 local_tlb_gen = this_cpu_read(cpu_tlbstate.ctxs[loaded_mm_asid].tlb_gen); bool local = smp_processor_id() == f->initiating_cpu; - unsigned long nr_invalidate = 0; + unsigned long nr_invalidate; u64 mm_tlb_gen; /* This code cannot presently handle being reentered. */ @@ -795,7 +795,7 @@ static void flush_tlb_func(void *info) * be handled can catch us all the way up, leaving no work for * the second flush. */ - goto done; + return; } WARN_ON_ONCE(local_tlb_gen > mm_tlb_gen); @@ -871,7 +871,6 @@ static void flush_tlb_func(void *info) this_cpu_write(cpu_tlbstate.ctxs[loaded_mm_asid].tlb_gen, mm_tlb_gen); /* Tracing is done in a unified manner to reduce the code size */ -done: trace_tlb_flush(!local ? TLB_REMOTE_SHOOTDOWN : (f->mm == NULL) ? TLB_LOCAL_SHOOTDOWN : TLB_LOCAL_MM_SHOOTDOWN, -- 2.25.1