From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1751150AbdL3Vch (ORCPT ); Sat, 30 Dec 2017 16:32:37 -0500 Received: from mail-wr0-f195.google.com ([209.85.128.195]:46862 "EHLO mail-wr0-f195.google.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1751005AbdL3Vcf (ORCPT ); Sat, 30 Dec 2017 16:32:35 -0500 X-Google-Smtp-Source: ACJfBovs055ExMtypFbjFDpTOXsp0S2ewWaXo8N2VyRS998toUxOUbnf3mdhPkmSvIaQ083kElYRPw== Date: Sat, 30 Dec 2017 22:32:31 +0100 From: Ingo Molnar To: Thomas Gleixner Cc: LKML , Linus Torvalds , x86@kernel.org, Andy Lutomirski , Dave Hansen , Peter Zijlstra , Borislav Petkov , Dominik Brodowski Subject: Re: [patch 2/3] x86/smpboot: Remove stale tlb flush invocations Message-ID: <20171230213231.haifzuhufkoyeaz7@gmail.com> References: <20171230211351.980176980@linutronix.de> <20171230211829.586548655@linutronix.de> MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline In-Reply-To: <20171230211829.586548655@linutronix.de> User-Agent: NeoMutt/20170609 (1.8.3) Sender: linux-kernel-owner@vger.kernel.org List-ID: X-Mailing-List: linux-kernel@vger.kernel.org * Thomas Gleixner wrote: > smpboot_setup_warm_reset_vector() and smpboot_restore_warm_reset_vector() > invoke local_flush_tlb() for no obvious reason. > > Digging in history revealed that the original code in the 2.1 aera added > those because the code manipulated a swapper_pg_dir pagetable entry. The > pagetable manipulation was removed long ago in the 2.3 timeframe, but the > tlb flush invocations stayed around forever. s/tlb/TLB > > Remove them along with the pointless pr_debugs which come from the same 2.1 > change. > > Reported-by: Dominik Brodowski > Signed-off-by: Thomas Gleixner > --- > arch/x86/kernel/smpboot.c | 9 --------- > 1 file changed, 9 deletions(-) > > --- a/arch/x86/kernel/smpboot.c > +++ b/arch/x86/kernel/smpboot.c > @@ -128,14 +128,10 @@ static inline void smpboot_setup_warm_re > spin_lock_irqsave(&rtc_lock, flags); > CMOS_WRITE(0xa, 0xf); > spin_unlock_irqrestore(&rtc_lock, flags); > - local_flush_tlb(); > - pr_debug("1.\n"); > *((volatile unsigned short *)phys_to_virt(TRAMPOLINE_PHYS_HIGH)) = > start_eip >> 4; > - pr_debug("2.\n"); > *((volatile unsigned short *)phys_to_virt(TRAMPOLINE_PHYS_LOW)) = > start_eip & 0xf; > - pr_debug("3.\n"); > } > > static inline void smpboot_restore_warm_reset_vector(void) > @@ -143,11 +139,6 @@ static inline void smpboot_restore_warm_ > unsigned long flags; > > /* > - * Install writable page 0 entry to set BIOS data area. > - */ > - local_flush_tlb(); > - > - /* > * Paranoid: Set warm reset code and vector here back > * to default values. > */ Really nice archeology! :-) Reviewed-by: Ingo Molnar Thanks, Ingo