From patchwork Wed May 17 20:39:24 2017 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Arnd Bergmann X-Patchwork-Id: 100013 Delivered-To: patch@linaro.org Received: by 10.140.96.100 with SMTP id j91csp407882qge; Wed, 17 May 2017 13:41:48 -0700 (PDT) X-Received: by 10.99.170.2 with SMTP id e2mr690362pgf.204.1495053708116; Wed, 17 May 2017 13:41:48 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1495053708; cv=none; d=google.com; s=arc-20160816; b=dVpsTNj0iPKmMQQ8gPFyfcfEtgjytXBGWf7yaSH0EYjcJN1AZ+kdjvdxg420E4M1Qw 2g+zbINzJs7Kngd2yYHCmAaHM+tM4NeG7LJ+pnzeuz92EJaYg95NcWp/i/GnhEKQA5m5 tdBDVIkztjaHtWLLVSxXlZlZE00108k9nPqPyHo71FXGpw+VPKSNLYIl0H4yINqMTHRD mY/DRHIARCOde412L3W7Q81aKl3GqV1NiUv0BSO8nP3H/BvqWK/USKqE7CfyKOvhQ/sX lsACCQTSkrNsFnVXYnXo63dVlHBDqp2FN9klO1tRUJCuZzvKdveVutI3UMIWGhe2wHfx 8HqQ== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=list-id:precedence:sender:message-id:date:subject:cc:to:from :arc-authentication-results; bh=jkpZZENV0HhbcUDme9gMXxlAM/8PFMgKdviYJS0WsfM=; b=otC7tP5mipfESQOPqPKjoZkOms24pXZUR/VztwAlCLc5VKm1toLVKgRSoNxjDd3iPN MuP1NENENuA6+88R18rgXEo0nPhPAldtS6qfjDqdTUIWDAktI9mw1QZF4SW+hTgI/Sr0 OX5vL+ZnNV/AkX3IN3eLEKvblhcIp0mt+yg1w2CsqAFwPoYCw/ZjzTSxautIBN+TRam0 a77pkIoO8vXTV2fXq6FNTBVo9lASVJUMxtb8ZqLOP6nfESDOKZvMDOei/H1dL9Ze6bdy 2UPF5Av/IVyYRtKI6r8ezC3scsxT56B9asgCEVgxd6/pGx01v4Yqx9/6Vvrtd3I/D5mj 0GzA== ARC-Authentication-Results: i=1; mx.google.com; spf=pass (google.com: best guess record for domain of linux-kernel-owner@vger.kernel.org designates 209.132.180.67 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org Return-Path: Received: from vger.kernel.org (vger.kernel.org. [209.132.180.67]) by mx.google.com with ESMTP id 3si3043110pli.59.2017.05.17.13.41.47; Wed, 17 May 2017 13:41:48 -0700 (PDT) Received-SPF: pass (google.com: best guess record for domain of linux-kernel-owner@vger.kernel.org designates 209.132.180.67 as permitted sender) client-ip=209.132.180.67; Authentication-Results: mx.google.com; spf=pass (google.com: best guess record for domain of linux-kernel-owner@vger.kernel.org designates 209.132.180.67 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1753250AbdEQUle (ORCPT + 25 others); Wed, 17 May 2017 16:41:34 -0400 Received: from mout.kundenserver.de ([217.72.192.74]:49583 "EHLO mout.kundenserver.de" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1750944AbdEQUla (ORCPT ); Wed, 17 May 2017 16:41:30 -0400 Received: from wuerfel.lan ([78.42.17.5]) by mrelayeu.kundenserver.de (mreue104 [212.227.15.145]) with ESMTPA (Nemesis) id 0LuLSB-1eAJ6h0GZj-011lzP; Wed, 17 May 2017 22:39:56 +0200 From: Arnd Bergmann To: Ingo Molnar , Peter Zijlstra Cc: Arnd Bergmann , Thomas Gleixner , "H. Peter Anvin" , x86@kernel.org, Prarit Bhargava , linux-kernel@vger.kernel.org Subject: [PATCH] x86/tsc: fold set_cyc2ns_scale() into caller Date: Wed, 17 May 2017 22:39:24 +0200 Message-Id: <20170517203949.2052220-1-arnd@arndb.de> X-Mailer: git-send-email 2.9.0 X-Provags-ID: V03:K0:gtbikqCtbzxlG86e7WajvPthik5/1aK5UaxkQ6U5svLfI12p96m cFSwByAGIY5LWnnwPc3UqJc/s/wgD/PQjp5UDqLCPZ6d/e4GAFV29UvGr/H5eif7qQ/2w6d JQrZCUc+gkE2ScT7PwqtUSejtjpPbPNP/epi5q5Qx5T5ZzpcSe34libyY1trlQhHCqdftPo XkLD/PpdA5KgQY3DD3RvQ== X-UI-Out-Filterresults: notjunk:1; V01:K0:Ug4+kDJbnuo=:Ix75RCYEczpsS0IQfQbyQP 0tUmGXkvSfN6xYUALiyK9+LW6O+HvKIz2aitY57ox5eehPngjPsiCVN5k1ZrgniUvKBnGWmFn 1Y2i7ql1xnxnpoiJ5TsfwtASCkGOCZ/6XVVJB9bMSnWL8sxoS3/YkJcL4t5Pwv7yJP7p4N3nf Fak3j6RVQxEBm44DJELRGiAHLPHYGPmxfUZAdqXIt1IQNkjeKPBxn4kYZc0U1Ezr8hD4CW04I ZeHEkQw3StmSVYab3u4xF/btdn82w2+x2aGQyJhCucrGlyftzMhfhmyAWQUQyilWQ4DEKLl+V pgqcPJFpDTTXJhlhXZWQp6fU72Jc07HVoGy+6U/w9qRVw49OwN+d9gRHmoh2QcsA0Jq+GEe3y JJxwd4rQmSsuwZ43NpvVUuhO3z5VCq8yQ3jZrXb0Cj2qGvqG0dB6tIZeVk0wyvOdW7rbLZ3kC MBEF22k9LS5JpB0piKszq3a+x20ecRfvFQGr/RPRfxm08rQ4EoNMssJmZ/TxWQtuPDLGDmDl6 Iq40U5eTZyXfm27xoMRHF/5QLmtFR9pX5EWuibd5mEZ4sZ0K+v9kVBDoB3CvPrDCj0NAXgOcX GN5ZcVQOtEruPNgbD4w790iwCUk92gN0DeFzSMCqgo8c5R7wyBP57YAzR+48hnraeaZDvRkHV 4EGM70JYPzTN/6r9S3vu94MOv8+DMOBAzN+5yQaLHyt55ymmqYCxxrs/RLGo9tPSfFzY= Sender: linux-kernel-owner@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org The newly introduced wrapper function only has one caller, and this one is conditional, causing a harmless warning when CONFIG_CPU_FREQ is disabled: arch/x86/kernel/tsc.c:189:13: error: 'set_cyc2ns_scale' defined but not used [-Werror=unused-function] My first idea was to move the wrapper inside of that #ifdef, but on second thought it seemed nicer to remove it completely again and rename __set_cyc2ns_scale back to set_cyc2ns_scale, but leaving the extra argument. Fixes: 615cd03373a0 ("x86/tsc: Fix sched_clock() sync") Signed-off-by: Arnd Bergmann --- arch/x86/kernel/tsc.c | 14 ++++---------- 1 file changed, 4 insertions(+), 10 deletions(-) -- 2.9.0 diff --git a/arch/x86/kernel/tsc.c b/arch/x86/kernel/tsc.c index a3b544264360..5270fc0c2df6 100644 --- a/arch/x86/kernel/tsc.c +++ b/arch/x86/kernel/tsc.c @@ -137,7 +137,7 @@ static inline unsigned long long cycles_2_ns(unsigned long long cyc) return ns; } -static void __set_cyc2ns_scale(unsigned long khz, int cpu, unsigned long long tsc_now) +static void set_cyc2ns_scale(unsigned long khz, int cpu, unsigned long long tsc_now) { unsigned long long ns_now; struct cyc2ns_data data; @@ -186,11 +186,6 @@ static void __set_cyc2ns_scale(unsigned long khz, int cpu, unsigned long long ts local_irq_restore(flags); } -static void set_cyc2ns_scale(unsigned long khz, int cpu) -{ - __set_cyc2ns_scale(khz, cpu, rdtsc()); -} - /* * Scheduler clock - returns current time in nanosec units. */ @@ -892,7 +887,6 @@ void tsc_restore_sched_clock_state(void) } #ifdef CONFIG_CPU_FREQ - /* Frequency scaling support. Adjust the TSC based timer when the cpu frequency * changes. * @@ -933,7 +927,7 @@ static int time_cpufreq_notifier(struct notifier_block *nb, unsigned long val, if (!(freq->flags & CPUFREQ_CONST_LOOPS)) mark_tsc_unstable("cpufreq changes"); - set_cyc2ns_scale(tsc_khz, freq->cpu); + set_cyc2ns_scale(tsc_khz, freq->cpu, rdtsc()); } return 0; @@ -1224,7 +1218,7 @@ static void tsc_refine_calibration_work(struct work_struct *work) /* Update the sched_clock() rate to match the clocksource one */ for_each_possible_cpu(cpu) - __set_cyc2ns_scale(tsc_khz, cpu, tsc_stop); + set_cyc2ns_scale(tsc_khz, cpu, tsc_stop); out: if (boot_cpu_has(X86_FEATURE_ART)) @@ -1314,7 +1308,7 @@ void __init tsc_init(void) cyc = rdtsc(); for_each_possible_cpu(cpu) { cyc2ns_init(cpu); - __set_cyc2ns_scale(tsc_khz, cpu, cyc); + set_cyc2ns_scale(tsc_khz, cpu, cyc); } if (tsc_disabled > 0)