From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.4.0 (2014-02-07) on aws-us-west-2-korg-lkml-1.web.codeaurora.org X-Spam-Level: X-Spam-Status: No, score=-15.9 required=3.0 tests=BAYES_00,DKIM_ADSP_ALL, HEADER_FROM_DIFFERENT_DOMAINS,INCLUDES_CR_TRAILER,INCLUDES_PATCH, MAILING_LIST_MULTI,SPF_HELO_NONE,SPF_PASS,USER_AGENT_GIT autolearn=ham autolearn_force=no version=3.4.0 Received: from mail.kernel.org (mail.kernel.org [198.145.29.99]) by smtp.lore.kernel.org (Postfix) with ESMTP id 0A8C9C433EF for ; Wed, 8 Sep 2021 19:06:25 +0000 (UTC) Received: from kanga.kvack.org (kanga.kvack.org [205.233.56.17]) by mail.kernel.org (Postfix) with ESMTP id B02F2606A5 for ; Wed, 8 Sep 2021 19:06:24 +0000 (UTC) DMARC-Filter: OpenDMARC Filter v1.4.1 mail.kernel.org B02F2606A5 Authentication-Results: mail.kernel.org; dmarc=fail (p=quarantine dis=none) header.from=amazon.com Authentication-Results: mail.kernel.org; spf=pass smtp.mailfrom=kvack.org Received: by kanga.kvack.org (Postfix) id 4489F900003; Wed, 8 Sep 2021 15:06:22 -0400 (EDT) Received: by kanga.kvack.org (Postfix, from userid 40) id 39CBA900002; Wed, 8 Sep 2021 15:06:22 -0400 (EDT) X-Delivered-To: int-list-linux-mm@kvack.org Received: by kanga.kvack.org (Postfix, from userid 63042) id 2158F6B007B; Wed, 8 Sep 2021 15:06:22 -0400 (EDT) X-Delivered-To: linux-mm@kvack.org Received: from forelay.hostedemail.com (smtprelay0076.hostedemail.com [216.40.44.76]) by kanga.kvack.org (Postfix) with ESMTP id 0F3236B0075 for ; Wed, 8 Sep 2021 15:06:22 -0400 (EDT) Received: from smtpin37.hostedemail.com (10.5.19.251.rfc1918.com [10.5.19.251]) by forelay03.hostedemail.com (Postfix) with ESMTP id BBA3E82499B9 for ; Wed, 8 Sep 2021 19:06:21 +0000 (UTC) X-FDA: 78565336962.37.2359B4E Received: from elaine.keithp.com (home.keithp.com [63.227.221.253]) by imf18.hostedemail.com (Postfix) with ESMTP id 4E38A4002088 for ; Wed, 8 Sep 2021 19:06:21 +0000 (UTC) Received: from localhost (localhost [127.0.0.1]) by elaine.keithp.com (Postfix) with ESMTP id CAAFD3F30893; Wed, 8 Sep 2021 12:05:50 -0700 (PDT) X-Virus-Scanned: Debian amavisd-new at keithp.com Received: from elaine.keithp.com ([127.0.0.1]) by localhost (elaine.keithp.com [127.0.0.1]) (amavisd-new, port 10024) with LMTP id 9rb9E495oXnQ; Wed, 8 Sep 2021 12:05:50 -0700 (PDT) Received: from keithp.com (168-103-156-98.tukw.qwest.net [168.103.156.98]) by elaine.keithp.com (Postfix) with ESMTPSA id 80DAF3F3088A; Wed, 8 Sep 2021 12:05:48 -0700 (PDT) Received: by keithp.com (Postfix, from userid 1000) id 5D8FF1E6013A; Wed, 8 Sep 2021 12:06:09 -0700 (PDT) From: Keith Packard To: linux-kernel@vger.kernel.org Cc: Abbott Liu , Alexei Starovoitov , Andrew Morton , Andrii Nakryiko , Anshuman Khandual , Ard Biesheuvel , Arnd Bergmann , Ben Segall , Bjorn Andersson , bpf@vger.kernel.org, Christoph Lameter , Daniel Borkmann , Daniel Bristot de Oliveira , Dennis Zhou , devicetree@vger.kernel.org, Dietmar Eggemann , Florian Fainelli , Frank Rowand , Geert Uytterhoeven , Ingo Molnar , Jason Wang , Jens Axboe , Joe Perches , John Fastabend , Juri Lelli , Keith Packard , KP Singh , kvm@vger.kernel.org, Linus Walleij , linux-arch@vger.kernel.org, linux-arm-kernel@lists.infradead.org, linux-mm@kvack.org, Manivannan Sadhasivam , Marc Zyngier , Martin KaFai Lau , Mel Gorman , Michael Ellerman , "Michael S. Tsirkin" , Miguel Ojeda , Mike Rapoport , netdev@vger.kernel.org, Nick Desaulniers , Nick Desaulniers , Nicolas Pitre , Peter Zijlstra , Rob Herring , Russell King , Song Liu , Srikar Dronamraju , Steven Rostedt , Tejun Heo , Thomas Gleixner , =?UTF-8?q?Uwe=20Kleine-K=C3=B6nig?= , Valentin Schneider , Vincent Guittot , virtualization@lists.linux-foundation.org, "Wolfram Sang (Renesas)" , YiFei Zhu , Yonghong Song Subject: [PATCH v4 4/7] Make sure task_struct is available for raw_smp_processor_id Date: Wed, 8 Sep 2021 12:06:02 -0700 Message-Id: <20210908190605.419064-5-keithpac@amazon.com> X-Mailer: git-send-email 2.33.0 In-Reply-To: <20210908190605.419064-1-keithpac@amazon.com> References: <20210908190605.419064-1-keithpac@amazon.com> MIME-Version: 1.0 X-Stat-Signature: 79x74a1on85zq6er8h3p6fmo5c4ct3pc Authentication-Results: imf18.hostedemail.com; dkim=none; dmarc=fail reason="SPF not aligned (relaxed), No valid DKIM" header.from=amazon.com (policy=quarantine); spf=pass (imf18.hostedemail.com: domain of keithp@keithp.com designates 63.227.221.253 as permitted sender) smtp.mailfrom=keithp@keithp.com X-Rspamd-Server: rspam03 X-Rspamd-Queue-Id: 4E38A4002088 X-Rspam: Yes X-HE-Tag: 1631127981-60011 Content-Transfer-Encoding: quoted-printable X-Bogosity: Ham, tests=bogofilter, spamicity=0.000000, version=1.2.4 Sender: owner-linux-mm@kvack.org Precedence: bulk X-Loop: owner-majordomo@kvack.org List-ID: To allow architectures to use the 'cpu' field in task_struct for cpu identification, the task_struct must be visible whereever the raw_smp_processor_id macro is used. It would be simplest to include linux/sched.h from the relevant asm/smp.h file, but that file is included from linux/sched.h, and the recursive include ends up with several declarations in the wrong order. To avoid this, the PowerPC architecture code has this ugly hack: #define raw_smp_processor_id() \ (*(unsigned int *)((void *)current + _TASK_CPU)) As an alternative, placing includes of linux/sched.h in a few files that are used along with asm/smp.h means we can use the task_struct field directly. Signed-off-by: Keith Packard --- arch/arm/mm/proc-v7-bugs.c | 1 + drivers/vhost/vhost.c | 1 + drivers/vhost/vhost.h | 1 + include/asm-generic/irq_regs.h | 1 + include/linux/of_address.h | 1 + include/linux/random.h | 1 + include/linux/topology.h | 1 + init/calibrate.c | 1 + kernel/bpf/bpf_lru_list.h | 1 + kernel/bpf/percpu_freelist.h | 1 + kernel/sched/cpuacct.c | 2 +- lib/irq_regs.c | 1 + 12 files changed, 12 insertions(+), 1 deletion(-) diff --git a/arch/arm/mm/proc-v7-bugs.c b/arch/arm/mm/proc-v7-bugs.c index 114c05ab4dd9..9ea078c619a7 100644 --- a/arch/arm/mm/proc-v7-bugs.c +++ b/arch/arm/mm/proc-v7-bugs.c @@ -1,4 +1,5 @@ // SPDX-License-Identifier: GPL-2.0 +#include #include #include #include diff --git a/drivers/vhost/vhost.c b/drivers/vhost/vhost.c index 5ccb0705beae..e5a073bb5b1e 100644 --- a/drivers/vhost/vhost.c +++ b/drivers/vhost/vhost.c @@ -10,6 +10,7 @@ * Generic code for virtio server in host kernel. */ =20 +#include #include #include #include diff --git a/drivers/vhost/vhost.h b/drivers/vhost/vhost.h index b063324c7669..963d08ff2a62 100644 --- a/drivers/vhost/vhost.h +++ b/drivers/vhost/vhost.h @@ -2,6 +2,7 @@ #ifndef _VHOST_H #define _VHOST_H =20 +#include #include #include #include diff --git a/include/asm-generic/irq_regs.h b/include/asm-generic/irq_reg= s.h index 2e7c6e89d42e..ab4ca7ab362c 100644 --- a/include/asm-generic/irq_regs.h +++ b/include/asm-generic/irq_regs.h @@ -8,6 +8,7 @@ #ifndef _ASM_GENERIC_IRQ_REGS_H #define _ASM_GENERIC_IRQ_REGS_H =20 +#include #include =20 /* diff --git a/include/linux/of_address.h b/include/linux/of_address.h index 88bc943405cd..60c30168d48d 100644 --- a/include/linux/of_address.h +++ b/include/linux/of_address.h @@ -1,6 +1,7 @@ /* SPDX-License-Identifier: GPL-2.0 */ #ifndef __OF_ADDRESS_H #define __OF_ADDRESS_H +#include #include #include #include diff --git a/include/linux/random.h b/include/linux/random.h index f45b8be3e3c4..0accd9277e95 100644 --- a/include/linux/random.h +++ b/include/linux/random.h @@ -7,6 +7,7 @@ #ifndef _LINUX_RANDOM_H #define _LINUX_RANDOM_H =20 +#include #include #include #include diff --git a/include/linux/topology.h b/include/linux/topology.h index 7634cd737061..4bd993bc9513 100644 --- a/include/linux/topology.h +++ b/include/linux/topology.h @@ -27,6 +27,7 @@ #ifndef _LINUX_TOPOLOGY_H #define _LINUX_TOPOLOGY_H =20 +#include #include #include #include diff --git a/init/calibrate.c b/init/calibrate.c index f3831272f113..45002e27e385 100644 --- a/init/calibrate.c +++ b/init/calibrate.c @@ -10,6 +10,7 @@ #include #include #include +#include #include =20 unsigned long lpj_fine; diff --git a/kernel/bpf/bpf_lru_list.h b/kernel/bpf/bpf_lru_list.h index 6b12f06ee18c..5aed0c288c76 100644 --- a/kernel/bpf/bpf_lru_list.h +++ b/kernel/bpf/bpf_lru_list.h @@ -4,6 +4,7 @@ #ifndef __BPF_LRU_LIST_H_ #define __BPF_LRU_LIST_H_ =20 +#include #include #include =20 diff --git a/kernel/bpf/percpu_freelist.h b/kernel/bpf/percpu_freelist.h index 3c76553cfe57..3bc7a2bbe79b 100644 --- a/kernel/bpf/percpu_freelist.h +++ b/kernel/bpf/percpu_freelist.h @@ -3,6 +3,7 @@ */ #ifndef __PERCPU_FREELIST_H__ #define __PERCPU_FREELIST_H__ +#include #include #include =20 diff --git a/kernel/sched/cpuacct.c b/kernel/sched/cpuacct.c index 104a1bade14f..fb5f52e889a4 100644 --- a/kernel/sched/cpuacct.c +++ b/kernel/sched/cpuacct.c @@ -5,8 +5,8 @@ * Based on the work by Paul Menage (menage@google.com) and Balbir Singh * (balbir@in.ibm.com). */ -#include #include "sched.h" +#include =20 /* Time spent by the tasks of the CPU accounting group executing in ... = */ enum cpuacct_stat_index { diff --git a/lib/irq_regs.c b/lib/irq_regs.c index 0d545a93070e..c9d8235f6444 100644 --- a/lib/irq_regs.c +++ b/lib/irq_regs.c @@ -5,6 +5,7 @@ * Written by David Howells (dhowells@redhat.com) */ #include +#include #include #include =20 --=20 2.33.0