From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S932769AbdJ3SJJ (ORCPT ); Mon, 30 Oct 2017 14:09:09 -0400 Received: from mail-io0-f195.google.com ([209.85.223.195]:46192 "EHLO mail-io0-f195.google.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S932538AbdJ3SJH (ORCPT ); Mon, 30 Oct 2017 14:09:07 -0400 X-Google-Smtp-Source: ABhQp+S/Lf8Nrz5m4nTeSA11lqjuRb8PZXxVPF59hZ9iTVyIuejlaYv5c/P39CmMDVyDWCnvT2l9lw== From: Matthias Kaehlcke To: Ingo Molnar , Shile Zhang , Peter Zijlstra Cc: linux-kernel@vger.kernel.org, Nick Desaulniers , Douglas Anderson , Guenter Roeck , Matthias Kaehlcke Subject: [PATCH v2] sched/sysctl: Fix attributes of some extern declarations Date: Mon, 30 Oct 2017 11:08:16 -0700 Message-Id: <20171030180816.170850-1-mka@chromium.org> X-Mailer: git-send-email 2.15.0.rc2.357.g7e34df9404-goog Sender: linux-kernel-owner@vger.kernel.org List-ID: X-Mailing-List: linux-kernel@vger.kernel.org The definition of sysctl_sched_migration_cost, sysctl_sched_nr_migrate and sysctl_sched_time_avg includes the attribute const_debug. This attribute is not part of the extern declaration of these variables in include/linux/sched/sysctl.h, as a result clang generates warnings like this: kernel/sched/sched.h:1618:33: warning: section attribute is specified on redeclared variable [-Wsection] extern const_debug unsigned int sysctl_sched_time_avg; ^ ./include/linux/sched/sysctl.h:42:21: note: previous declaration is here extern unsigned int sysctl_sched_time_avg; The header only declares the variables when CONFIG_SCHED_DEBUG is defined, therefore it is not necessary to duplicate the definition of const_debug. Instead we can use the attribute __read_mostly, which is the expansion of const_debug when CONFIG_SCHED_DEBUG is set. Signed-off-by: Matthias Kaehlcke Reviewed-by: Nick Desaulniers --- Changes in v2: - removed pointless include of linux/static_key.h - added Reviewed-by tag include/linux/sched/sysctl.h | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/include/linux/sched/sysctl.h b/include/linux/sched/sysctl.h index 0f5ecd4d298e..d34c823f3d36 100644 --- a/include/linux/sched/sysctl.h +++ b/include/linux/sched/sysctl.h @@ -37,9 +37,9 @@ extern unsigned int sysctl_numa_balancing_scan_period_max; extern unsigned int sysctl_numa_balancing_scan_size; #ifdef CONFIG_SCHED_DEBUG -extern unsigned int sysctl_sched_migration_cost; -extern unsigned int sysctl_sched_nr_migrate; -extern unsigned int sysctl_sched_time_avg; +extern __read_mostly unsigned int sysctl_sched_migration_cost; +extern __read_mostly unsigned int sysctl_sched_nr_migrate; +extern __read_mostly unsigned int sysctl_sched_time_avg; int sched_proc_update_handler(struct ctl_table *table, int write, void __user *buffer, size_t *length, -- 2.15.0.rc2.357.g7e34df9404-goog