Received: by 2002:a05:6358:9144:b0:117:f937:c515 with SMTP id r4csp6749393rwr; Tue, 2 May 2023 05:11:56 -0700 (PDT) X-Google-Smtp-Source: ACHHUZ5i7UcoGlr2cNGMNkmtRXexEPdyx4xmcP6oqc/DZep10+2rYZdxPzQrlyldXGEYNiOwIn8G X-Received: by 2002:a05:6a20:4298:b0:f0:eb30:d49e with SMTP id o24-20020a056a20429800b000f0eb30d49emr21839039pzj.39.1683029516079; Tue, 02 May 2023 05:11:56 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1683029516; cv=none; d=google.com; s=arc-20160816; b=bEKBccfCWIYhMZbFpKIN6XnslMdNq0X1aa7Lu8w1Su0YpQ6l2wDGQQTrWp6QJWoebk JeM60AtzbXa+U7BmTJpvlujYsbZZSF6g3MoVtU+qwv8Da4bdO4UJGR6q3Bwuq4eXlfGZ f8ebfTDi7CkywjLn+6+IK1pJv+ZkbOtmMBUVFF8HuuTCORI532CJ1WKLrmo+GQGnMyXU 335jKWmNAJertK0iIMZR57egbWNDAv1S+Gz8PJRuPbj2F6L03ohGxfuZvJ6nRajtzxj1 P/VcsKNxfopyIiLUEfF/pIgSPQ5lh+XOSDKdsJW4/R6wNQqcjdm1sSQd99g9yvPhC5Cc gDkA== 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 :references:in-reply-to:message-id:date:subject:cc:to:from :dkim-signature; bh=DgCRNXz0bs0WvceUdREg7f7DvaWPhgAqi3kLd7uuhq0=; b=yQ6VfiryFr95EeEh9mbI3vwOdje/cBM1wyo0kl5OMb94F0w/UZ/h/BQESNQ+1Y4REC cU6eGSaTFU1fisGzDqN71WnV8yh/bZebO07pS/qoLV7YOUm1iIdPh0NMG8Mi+L7uDfqB k2SqwIfGkSk7E7adzfQYzZs+Li4fcyiSZyHZancKd91BX4jSomy0qYpSZqLzvVUrK+6M eZ+R4Yi1GCM1m+8Usj/iguaAlvP/NQF81CUyowyU4Sselg94TjY7yX5OOqfBXRcuJQPI x9SQsEkwxNON36D54JDNrCFex6EZ0k0WIprgTdudIyPuwRl5AvJyUKQ+cSDHpAibqzke +lrw== ARC-Authentication-Results: i=1; mx.google.com; dkim=pass header.i=@suse.com header.s=susede1 header.b="lq/JU9s3"; 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=QUARANTINE sp=QUARANTINE dis=NONE) header.from=suse.com Return-Path: Received: from out1.vger.email (out1.vger.email. [2620:137:e000::1:20]) by mx.google.com with ESMTP id y5-20020aa79425000000b0063bcab61625si31367437pfo.178.2023.05.02.05.11.44; Tue, 02 May 2023 05:11:56 -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=@suse.com header.s=susede1 header.b="lq/JU9s3"; 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=QUARANTINE sp=QUARANTINE dis=NONE) header.from=suse.com Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S234164AbjEBMLE (ORCPT + 99 others); Tue, 2 May 2023 08:11:04 -0400 Received: from lindbergh.monkeyblade.net ([23.128.96.19]:37626 "EHLO lindbergh.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S234038AbjEBMKz (ORCPT ); Tue, 2 May 2023 08:10:55 -0400 Received: from smtp-out2.suse.de (smtp-out2.suse.de [IPv6:2001:67c:2178:6::1d]) by lindbergh.monkeyblade.net (Postfix) with ESMTPS id 9953A6180 for ; Tue, 2 May 2023 05:10:23 -0700 (PDT) Received: from imap2.suse-dmz.suse.de (imap2.suse-dmz.suse.de [192.168.254.74]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature ECDSA (P-521) server-digest SHA512) (No client certificate requested) by smtp-out2.suse.de (Postfix) with ESMTPS id 461191F8C4; Tue, 2 May 2023 12:10:22 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.com; s=susede1; t=1683029422; h=from:from:reply-to:date:date:message-id:message-id:to:to:cc:cc: mime-version:mime-version: content-transfer-encoding:content-transfer-encoding: in-reply-to:in-reply-to:references:references; bh=DgCRNXz0bs0WvceUdREg7f7DvaWPhgAqi3kLd7uuhq0=; b=lq/JU9s3oSNbApvUO2J/QNnpZ38LaA5+tBdvpKdJpFGH11oWD7aG9wcN8WnecgSSipclvz CHHgVq0j3W0tzZ+lTqI0QGexnUo7tg0okmG8LJoHk+lBn4wlxEzAITavTCl2CgXF9dQdkV 5huto00ebmV9slfyWFAs3XanaYoWo8w= Received: from imap2.suse-dmz.suse.de (imap2.suse-dmz.suse.de [192.168.254.74]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature ECDSA (P-521) server-digest SHA512) (No client certificate requested) by imap2.suse-dmz.suse.de (Postfix) with ESMTPS id 00114139C3; Tue, 2 May 2023 12:10:21 +0000 (UTC) Received: from dovecot-director2.suse.de ([192.168.254.65]) by imap2.suse-dmz.suse.de with ESMTPSA id 7tRGOq39UGTjLwAAMHmgww (envelope-from ); Tue, 02 May 2023 12:10:21 +0000 From: Juergen Gross To: linux-kernel@vger.kernel.org, x86@kernel.org Cc: mikelley@microsoft.com, Juergen Gross , Thomas Gleixner , Ingo Molnar , Borislav Petkov , Dave Hansen , "H. Peter Anvin" Subject: [PATCH v6 07/16] x86/mtrr: have only one set_mtrr() variant Date: Tue, 2 May 2023 14:09:22 +0200 Message-Id: <20230502120931.20719-8-jgross@suse.com> X-Mailer: git-send-email 2.35.3 In-Reply-To: <20230502120931.20719-1-jgross@suse.com> References: <20230502120931.20719-1-jgross@suse.com> MIME-Version: 1.0 Content-Transfer-Encoding: 8bit X-Spam-Status: No, score=-4.4 required=5.0 tests=BAYES_00,DKIM_SIGNED, DKIM_VALID,DKIM_VALID_AU,DKIM_VALID_EF,RCVD_IN_DNSWL_MED,SPF_HELO_NONE, SPF_PASS,T_SCC_BODY_TEXT_LINE autolearn=ham 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 Today there are two variants of set_mtrr(): one calling stop_machine() and one calling stop_machine_cpuslocked(). The first one (set_mtrr()) has only one caller, and this caller is running only when resuming from suspend when the interrupts are still off and only one CPU is active. Additionally this code is used only on rather old 32-bit CPUs not supporting SMP. For this reasons the first variant can be replaced by a simple call of mtrr_if->set(). Rename the second variant set_mtrr_cpuslocked() to set_mtrr() now that there is only one variant left, in order to have a shorter function name. Signed-off-by: Juergen Gross --- V5: - new patch --- arch/x86/kernel/cpu/mtrr/mtrr.c | 28 ++++++++-------------------- 1 file changed, 8 insertions(+), 20 deletions(-) diff --git a/arch/x86/kernel/cpu/mtrr/mtrr.c b/arch/x86/kernel/cpu/mtrr/mtrr.c index 3351730447e1..3a38f34bf289 100644 --- a/arch/x86/kernel/cpu/mtrr/mtrr.c +++ b/arch/x86/kernel/cpu/mtrr/mtrr.c @@ -177,20 +177,8 @@ static inline int types_compatible(mtrr_type type1, mtrr_type type2) * Note that the mechanism is the same for UP systems, too; all the SMP stuff * becomes nops. */ -static void -set_mtrr(unsigned int reg, unsigned long base, unsigned long size, mtrr_type type) -{ - struct set_mtrr_data data = { .smp_reg = reg, - .smp_base = base, - .smp_size = size, - .smp_type = type - }; - - stop_machine(mtrr_rendezvous_handler, &data, cpu_online_mask); -} - -static void set_mtrr_cpuslocked(unsigned int reg, unsigned long base, - unsigned long size, mtrr_type type) +static void set_mtrr(unsigned int reg, unsigned long base, unsigned long size, + mtrr_type type) { struct set_mtrr_data data = { .smp_reg = reg, .smp_base = base, @@ -320,7 +308,7 @@ int mtrr_add_page(unsigned long base, unsigned long size, /* Search for an empty MTRR */ i = mtrr_if->get_free_region(base, size, replace); if (i >= 0) { - set_mtrr_cpuslocked(i, base, size, type); + set_mtrr(i, base, size, type); if (likely(replace < 0)) { mtrr_usage_table[i] = 1; } else { @@ -328,7 +316,7 @@ int mtrr_add_page(unsigned long base, unsigned long size, if (increment) mtrr_usage_table[i]++; if (unlikely(replace != i)) { - set_mtrr_cpuslocked(replace, 0, 0, 0); + set_mtrr(replace, 0, 0, 0); mtrr_usage_table[replace] = 0; } } @@ -456,7 +444,7 @@ int mtrr_del_page(int reg, unsigned long base, unsigned long size) goto out; } if (--mtrr_usage_table[reg] < 1) - set_mtrr_cpuslocked(reg, 0, 0, 0); + set_mtrr(reg, 0, 0, 0); error = reg; out: mutex_unlock(&mtrr_mutex); @@ -586,9 +574,9 @@ static void mtrr_restore(void) for (i = 0; i < num_var_ranges; i++) { if (mtrr_value[i].lsize) { - set_mtrr(i, mtrr_value[i].lbase, - mtrr_value[i].lsize, - mtrr_value[i].ltype); + mtrr_if->set(i, mtrr_value[i].lbase, + mtrr_value[i].lsize, + mtrr_value[i].ltype); } } } -- 2.35.3