From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1752580AbdBIBiu (ORCPT ); Wed, 8 Feb 2017 20:38:50 -0500 Received: from mga01.intel.com ([192.55.52.88]:54014 "EHLO mga01.intel.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1751186AbdBIBih (ORCPT ); Wed, 8 Feb 2017 20:38:37 -0500 X-ExtLoop1: 1 X-IronPort-AV: E=Sophos;i="5.35,349,1484035200"; d="gz'50?scan'50,208,50";a="62878808" Date: Thu, 9 Feb 2017 09:25:22 +0800 From: kbuild test robot To: Ingo Molnar Cc: kbuild-all@01.org, linux-kernel@vger.kernel.org, tipbuild@zytor.com Subject: [tip:WIP.sched/core 149/152] arch/mips/sgi-ip27/ip27-smp.c:165:47: error: implicit declaration of function 'cpu_to_node' Message-ID: <201702090915.WfPU2ARh%fengguang.wu@intel.com> MIME-Version: 1.0 Content-Type: multipart/mixed; boundary="uAKRQypu60I7Lcqm" Content-Disposition: inline User-Agent: Mutt/1.5.23 (2014-03-12) X-SA-Exim-Connect-IP: X-SA-Exim-Mail-From: fengguang.wu@intel.com X-SA-Exim-Scanned: No (on bee); SAEximRunCond expanded to false Sender: linux-kernel-owner@vger.kernel.org List-ID: X-Mailing-List: linux-kernel@vger.kernel.org --uAKRQypu60I7Lcqm Content-Type: text/plain; charset=us-ascii Content-Disposition: inline tree: https://git.kernel.org/pub/scm/linux/kernel/git/tip/tip.git WIP.sched/core head: 632d0b2849d96cee96b5b5f73cef1f5e4d99e455 commit: 2205323e0ca18c29cf2d8e5e237755b02ae696d5 [149/152] sched/headers: Remove the include from config: mips-ip27_defconfig (attached as .config) compiler: mips64-linux-gnuabi64-gcc (Debian 6.1.1-9) 6.1.1 20160705 reproduce: wget https://git.kernel.org/cgit/linux/kernel/git/wfg/lkp-tests.git/plain/sbin/make.cross -O ~/bin/make.cross chmod +x ~/bin/make.cross git checkout 2205323e0ca18c29cf2d8e5e237755b02ae696d5 # save the attached .config to linux build tree make.cross ARCH=mips All error/warnings (new ones prefixed by >>): In file included from arch/mips/sgi-ip27/ip27-smp.c:14:0: arch/mips/sgi-ip27/ip27-smp.c: In function 'alloc_cpupda': >> arch/mips/include/asm/sn/arch.h:22:27: error: 'sn_cpu_info' undeclared (first use in this function) #define cputonasid(cpu) (sn_cpu_info[(cpu)].p_nasid) ^ >> arch/mips/sgi-ip27/ip27-smp.c:35:2: note: in expansion of macro 'cputonasid' cputonasid(cpunum) = nasid; ^~~~~~~~~~ arch/mips/include/asm/sn/arch.h:22:27: note: each undeclared identifier is reported only once for each function it appears in #define cputonasid(cpu) (sn_cpu_info[(cpu)].p_nasid) ^ >> arch/mips/sgi-ip27/ip27-smp.c:35:2: note: in expansion of macro 'cputonasid' cputonasid(cpunum) = nasid; ^~~~~~~~~~ arch/mips/sgi-ip27/ip27-smp.c: In function 'ip27_send_ipi_single': arch/mips/include/asm/sn/arch.h:23:27: error: 'sn_cpu_info' undeclared (first use in this function) #define cputoslice(cpu) (sn_cpu_info[(cpu)].p_slice) ^ >> arch/mips/sgi-ip27/ip27-smp.c:158:9: note: in expansion of macro 'cputoslice' irq += cputoslice(destid); ^~~~~~~~~~ In file included from arch/mips/include/asm/sn/gda.h:17:0, from arch/mips/sgi-ip27/ip27-smp.c:15: >> arch/mips/sgi-ip27/ip27-smp.c:165:47: error: implicit declaration of function 'cpu_to_node' [-Werror=implicit-function-declaration] REMOTE_HUB_SEND_INTR(COMPACT_TO_NASID_NODEID(cpu_to_node(destid)), irq); ^ arch/mips/include/asm/sn/addrs.h:270:27: note: in definition of macro 'HUB_S' #define HUB_S(_a, _d) *(_a) = (_d) ^~ >> arch/mips/include/asm/sn/addrs.h:67:40: note: in expansion of macro 'NODE_OFFSET' #define NODE_IO_BASE(_n) (IO_BASE + NODE_OFFSET(_n)) ^~~~~~~~~~~ >> arch/mips/include/asm/sn/sn0/addrs.h:107:33: note: in expansion of macro 'NODE_IO_BASE' #define NODE_BWIN_BASE0(nasid) (NODE_IO_BASE(nasid) + BWIN_SIZE) ^~~~~~~~~~~~ >> arch/mips/include/asm/sn/sn0/addrs.h:108:40: note: in expansion of macro 'NODE_BWIN_BASE0' #define NODE_BWIN_BASE(nasid, bigwin) (NODE_BWIN_BASE0(nasid) + \ ^~~~~~~~~~~~~~~ >> arch/mips/include/asm/sn/sn0/addrs.h:90:19: note: in expansion of macro 'NODE_BWIN_BASE' ((widget == 0) ? NODE_BWIN_BASE((nasid), SWIN0_BIGWIN) \ ^~~~~~~~~~~~~~ >> arch/mips/include/asm/sn/addrs.h:260:47: note: in expansion of macro 'NODE_SWIN_BASE' #define REMOTE_HUB_ADDR(_n, _x) (HUBREG_CAST (NODE_SWIN_BASE(_n, 1) + \ ^~~~~~~~~~~~~~ >> arch/mips/include/asm/sn/addrs.h:275:40: note: in expansion of macro 'REMOTE_HUB_ADDR' #define REMOTE_HUB_S(_n, _r, _d) HUB_S(REMOTE_HUB_ADDR((_n), (_r)), (_d)) ^~~~~~~~~~~~~~~ >> arch/mips/include/asm/sn/intr.h:27:2: note: in expansion of macro 'REMOTE_HUB_S' REMOTE_HUB_S((hub), PI_INT_PEND_MOD, (0x100 | (level))) ^~~~~~~~~~~~ >> arch/mips/sgi-ip27/ip27-smp.c:165:2: note: in expansion of macro 'REMOTE_HUB_SEND_INTR' REMOTE_HUB_SEND_INTR(COMPACT_TO_NASID_NODEID(cpu_to_node(destid)), irq); ^~~~~~~~~~~~~~~~~~~~ >> arch/mips/sgi-ip27/ip27-smp.c:165:23: note: in expansion of macro 'COMPACT_TO_NASID_NODEID' REMOTE_HUB_SEND_INTR(COMPACT_TO_NASID_NODEID(cpu_to_node(destid)), irq); ^~~~~~~~~~~~~~~~~~~~~~~ In file included from arch/mips/include/asm/thread_info.h:15:0, from include/linux/thread_info.h:25, from include/asm-generic/current.h:4, from ./arch/mips/include/generated/asm/current.h:1, from include/linux/mutex.h:13, from include/linux/sched.h:9, from arch/mips/sgi-ip27/ip27-smp.c:10: arch/mips/sgi-ip27/ip27-smp.c: In function 'ip27_boot_secondary': arch/mips/include/asm/processor.h:384:41: error: implicit declaration of function 'task_stack_page' [-Werror=implicit-function-declaration] #define __KSTK_TOS(tsk) ((unsigned long)task_stack_page(tsk) + \ ^ arch/mips/sgi-ip27/ip27-smp.c:197:21: note: in expansion of macro '__KSTK_TOS' unsigned long sp = __KSTK_TOS(idle); ^~~~~~~~~~ arch/mips/include/asm/processor.h:385:31: error: invalid application of 'sizeof' to incomplete type 'struct pt_regs' THREAD_SIZE - 32 - sizeof(struct pt_regs)) ^ arch/mips/sgi-ip27/ip27-smp.c:197:21: note: in expansion of macro '__KSTK_TOS' unsigned long sp = __KSTK_TOS(idle); ^~~~~~~~~~ In file included from arch/mips/sgi-ip27/ip27-smp.c:14:0: >> arch/mips/include/asm/sn/arch.h:22:27: error: 'sn_cpu_info' undeclared (first use in this function) #define cputonasid(cpu) (sn_cpu_info[(cpu)].p_nasid) ^ arch/mips/sgi-ip27/ip27-smp.c:199:15: note: in expansion of macro 'cputonasid' LAUNCH_SLAVE(cputonasid(cpu), cputoslice(cpu), ^~~~~~~~~~ cc1: some warnings being treated as errors vim +/cpu_to_node +165 arch/mips/sgi-ip27/ip27-smp.c ^1da177e Linus Torvalds 2005-04-16 8 */ ^1da177e Linus Torvalds 2005-04-16 9 #include ^1da177e Linus Torvalds 2005-04-16 10 #include ^1da177e Linus Torvalds 2005-04-16 11 #include ^1da177e Linus Torvalds 2005-04-16 12 #include ^1da177e Linus Torvalds 2005-04-16 13 #include ^1da177e Linus Torvalds 2005-04-16 @14 #include ^1da177e Linus Torvalds 2005-04-16 15 #include ^1da177e Linus Torvalds 2005-04-16 16 #include ^1da177e Linus Torvalds 2005-04-16 17 #include ^1da177e Linus Torvalds 2005-04-16 18 #include ^1da177e Linus Torvalds 2005-04-16 19 #include ^1da177e Linus Torvalds 2005-04-16 20 #include ^1da177e Linus Torvalds 2005-04-16 21 #include ^1da177e Linus Torvalds 2005-04-16 22 #include ^1da177e Linus Torvalds 2005-04-16 23 #include ^1da177e Linus Torvalds 2005-04-16 24 #include ^1da177e Linus Torvalds 2005-04-16 25 ^1da177e Linus Torvalds 2005-04-16 26 /* ^1da177e Linus Torvalds 2005-04-16 27 * Takes as first input the PROM assigned cpu id, and the kernel ^1da177e Linus Torvalds 2005-04-16 28 * assigned cpu id as the second. ^1da177e Linus Torvalds 2005-04-16 29 */ ^1da177e Linus Torvalds 2005-04-16 30 static void alloc_cpupda(cpuid_t cpu, int cpunum) ^1da177e Linus Torvalds 2005-04-16 31 { ^1da177e Linus Torvalds 2005-04-16 32 cnodeid_t node = get_cpu_cnode(cpu); ^1da177e Linus Torvalds 2005-04-16 33 nasid_t nasid = COMPACT_TO_NASID_NODEID(node); ^1da177e Linus Torvalds 2005-04-16 34 ^1da177e Linus Torvalds 2005-04-16 @35 cputonasid(cpunum) = nasid; cc6e8e08 Ralf Baechle 2007-10-11 36 sn_cpu_info[cpunum].p_nodeid = node; ^1da177e Linus Torvalds 2005-04-16 37 cputoslice(cpunum) = get_cpu_slice(cpu); ^1da177e Linus Torvalds 2005-04-16 38 } ^1da177e Linus Torvalds 2005-04-16 39 ^1da177e Linus Torvalds 2005-04-16 40 static nasid_t get_actual_nasid(lboard_t *brd) ^1da177e Linus Torvalds 2005-04-16 41 { ^1da177e Linus Torvalds 2005-04-16 42 klhub_t *hub; ^1da177e Linus Torvalds 2005-04-16 43 ^1da177e Linus Torvalds 2005-04-16 44 if (!brd) ^1da177e Linus Torvalds 2005-04-16 45 return INVALID_NASID; ^1da177e Linus Torvalds 2005-04-16 46 ^1da177e Linus Torvalds 2005-04-16 47 /* find out if we are a completely disabled brd. */ ^1da177e Linus Torvalds 2005-04-16 48 hub = (klhub_t *)find_first_component(brd, KLSTRUCT_HUB); ^1da177e Linus Torvalds 2005-04-16 49 if (!hub) ^1da177e Linus Torvalds 2005-04-16 50 return INVALID_NASID; ^1da177e Linus Torvalds 2005-04-16 51 if (!(hub->hub_info.flags & KLINFO_ENABLE)) /* disabled node brd */ ^1da177e Linus Torvalds 2005-04-16 52 return hub->hub_info.physid; ^1da177e Linus Torvalds 2005-04-16 53 else ^1da177e Linus Torvalds 2005-04-16 54 return brd->brd_nasid; ^1da177e Linus Torvalds 2005-04-16 55 } ^1da177e Linus Torvalds 2005-04-16 56 ^1da177e Linus Torvalds 2005-04-16 57 static int do_cpumask(cnodeid_t cnode, nasid_t nasid, int highest) ^1da177e Linus Torvalds 2005-04-16 58 { ^1da177e Linus Torvalds 2005-04-16 59 static int tot_cpus_found = 0; ^1da177e Linus Torvalds 2005-04-16 60 lboard_t *brd; ^1da177e Linus Torvalds 2005-04-16 61 klcpu_t *acpu; ^1da177e Linus Torvalds 2005-04-16 62 int cpus_found = 0; ^1da177e Linus Torvalds 2005-04-16 63 cpuid_t cpuid; ^1da177e Linus Torvalds 2005-04-16 64 ^1da177e Linus Torvalds 2005-04-16 65 brd = find_lboard((lboard_t *)KL_CONFIG_INFO(nasid), KLTYPE_IP27); ^1da177e Linus Torvalds 2005-04-16 66 ^1da177e Linus Torvalds 2005-04-16 67 do { ^1da177e Linus Torvalds 2005-04-16 68 acpu = (klcpu_t *)find_first_component(brd, KLSTRUCT_CPU); ^1da177e Linus Torvalds 2005-04-16 69 while (acpu) { ^1da177e Linus Torvalds 2005-04-16 70 cpuid = acpu->cpu_info.virtid; ^1da177e Linus Torvalds 2005-04-16 71 /* cnode is not valid for completely disabled brds */ ^1da177e Linus Torvalds 2005-04-16 72 if (get_actual_nasid(brd) == brd->brd_nasid) ^1da177e Linus Torvalds 2005-04-16 73 cpuid_to_compact_node[cpuid] = cnode; ^1da177e Linus Torvalds 2005-04-16 74 if (cpuid > highest) ^1da177e Linus Torvalds 2005-04-16 75 highest = cpuid; ^1da177e Linus Torvalds 2005-04-16 76 /* Only let it join in if it's marked enabled */ ^1da177e Linus Torvalds 2005-04-16 77 if ((acpu->cpu_info.flags & KLINFO_ENABLE) && ^1da177e Linus Torvalds 2005-04-16 78 (tot_cpus_found != NR_CPUS)) { 0b5f9c00 Rusty Russell 2012-03-29 79 set_cpu_possible(cpuid, true); ^1da177e Linus Torvalds 2005-04-16 80 alloc_cpupda(cpuid, tot_cpus_found); ^1da177e Linus Torvalds 2005-04-16 81 cpus_found++; ^1da177e Linus Torvalds 2005-04-16 82 tot_cpus_found++; ^1da177e Linus Torvalds 2005-04-16 83 } ^1da177e Linus Torvalds 2005-04-16 84 acpu = (klcpu_t *)find_component(brd, (klinfo_t *)acpu, ^1da177e Linus Torvalds 2005-04-16 85 KLSTRUCT_CPU); ^1da177e Linus Torvalds 2005-04-16 86 } ^1da177e Linus Torvalds 2005-04-16 87 brd = KLCF_NEXT(brd); ^1da177e Linus Torvalds 2005-04-16 88 if (!brd) ^1da177e Linus Torvalds 2005-04-16 89 break; ^1da177e Linus Torvalds 2005-04-16 90 ^1da177e Linus Torvalds 2005-04-16 91 brd = find_lboard(brd, KLTYPE_IP27); ^1da177e Linus Torvalds 2005-04-16 92 } while (brd); ^1da177e Linus Torvalds 2005-04-16 93 ^1da177e Linus Torvalds 2005-04-16 94 return highest; ^1da177e Linus Torvalds 2005-04-16 95 } ^1da177e Linus Torvalds 2005-04-16 96 ^1da177e Linus Torvalds 2005-04-16 97 void cpu_node_probe(void) ^1da177e Linus Torvalds 2005-04-16 98 { ^1da177e Linus Torvalds 2005-04-16 99 int i, highest = 0; ^1da177e Linus Torvalds 2005-04-16 100 gda_t *gdap = GDA; ^1da177e Linus Torvalds 2005-04-16 101 ^1da177e Linus Torvalds 2005-04-16 102 /* ^1da177e Linus Torvalds 2005-04-16 103 * Initialize the arrays to invalid nodeid (-1) ^1da177e Linus Torvalds 2005-04-16 104 */ ^1da177e Linus Torvalds 2005-04-16 105 for (i = 0; i < MAX_COMPACT_NODES; i++) ^1da177e Linus Torvalds 2005-04-16 106 compact_to_nasid_node[i] = INVALID_NASID; ^1da177e Linus Torvalds 2005-04-16 107 for (i = 0; i < MAX_NASIDS; i++) ^1da177e Linus Torvalds 2005-04-16 108 nasid_to_compact_node[i] = INVALID_CNODEID; ^1da177e Linus Torvalds 2005-04-16 109 for (i = 0; i < MAXCPUS; i++) ^1da177e Linus Torvalds 2005-04-16 110 cpuid_to_compact_node[i] = INVALID_CNODEID; ^1da177e Linus Torvalds 2005-04-16 111 ^1da177e Linus Torvalds 2005-04-16 112 /* ^1da177e Linus Torvalds 2005-04-16 113 * MCD - this whole "compact node" stuff can probably be dropped, ^1da177e Linus Torvalds 2005-04-16 114 * as we can handle sparse numbering now ^1da177e Linus Torvalds 2005-04-16 115 */ ^1da177e Linus Torvalds 2005-04-16 116 nodes_clear(node_online_map); ^1da177e Linus Torvalds 2005-04-16 117 for (i = 0; i < MAX_COMPACT_NODES; i++) { ^1da177e Linus Torvalds 2005-04-16 118 nasid_t nasid = gdap->g_nasidtable[i]; ^1da177e Linus Torvalds 2005-04-16 119 if (nasid == INVALID_NASID) ^1da177e Linus Torvalds 2005-04-16 120 break; ^1da177e Linus Torvalds 2005-04-16 121 compact_to_nasid_node[i] = nasid; ^1da177e Linus Torvalds 2005-04-16 122 nasid_to_compact_node[nasid] = i; ^1da177e Linus Torvalds 2005-04-16 123 node_set_online(num_online_nodes()); ^1da177e Linus Torvalds 2005-04-16 124 highest = do_cpumask(i, nasid, highest); ^1da177e Linus Torvalds 2005-04-16 125 } ^1da177e Linus Torvalds 2005-04-16 126 ^1da177e Linus Torvalds 2005-04-16 127 printk("Discovered %d cpus on %d nodes\n", highest + 1, num_online_nodes()); ^1da177e Linus Torvalds 2005-04-16 128 } ^1da177e Linus Torvalds 2005-04-16 129 39408c6a Ralf Baechle 2005-02-13 130 static __init void intr_clear_all(nasid_t nasid) ^1da177e Linus Torvalds 2005-04-16 131 { ^1da177e Linus Torvalds 2005-04-16 132 int i; ^1da177e Linus Torvalds 2005-04-16 133 ^1da177e Linus Torvalds 2005-04-16 134 REMOTE_HUB_S(nasid, PI_INT_MASK0_A, 0); ^1da177e Linus Torvalds 2005-04-16 135 REMOTE_HUB_S(nasid, PI_INT_MASK0_B, 0); ^1da177e Linus Torvalds 2005-04-16 136 REMOTE_HUB_S(nasid, PI_INT_MASK1_A, 0); ^1da177e Linus Torvalds 2005-04-16 137 REMOTE_HUB_S(nasid, PI_INT_MASK1_B, 0); 39408c6a Ralf Baechle 2005-02-13 138 39408c6a Ralf Baechle 2005-02-13 139 for (i = 0; i < 128; i++) 39408c6a Ralf Baechle 2005-02-13 140 REMOTE_HUB_CLR_INTR(nasid, i); ^1da177e Linus Torvalds 2005-04-16 141 } ^1da177e Linus Torvalds 2005-04-16 142 87353d8a Ralf Baechle 2007-11-19 143 static void ip27_send_ipi_single(int destid, unsigned int action) ^1da177e Linus Torvalds 2005-04-16 144 { 87353d8a Ralf Baechle 2007-11-19 145 int irq; ^1da177e Linus Torvalds 2005-04-16 146 87353d8a Ralf Baechle 2007-11-19 147 switch (action) { 87353d8a Ralf Baechle 2007-11-19 148 case SMP_RESCHEDULE_YOURSELF: 87353d8a Ralf Baechle 2007-11-19 149 irq = CPU_RESCHED_A_IRQ; 87353d8a Ralf Baechle 2007-11-19 150 break; 87353d8a Ralf Baechle 2007-11-19 151 case SMP_CALL_FUNCTION: 87353d8a Ralf Baechle 2007-11-19 152 irq = CPU_CALL_A_IRQ; 87353d8a Ralf Baechle 2007-11-19 153 break; 87353d8a Ralf Baechle 2007-11-19 154 default: 87353d8a Ralf Baechle 2007-11-19 155 panic("sendintr"); de1db6ff Ralf Baechle 2005-02-13 156 } ^1da177e Linus Torvalds 2005-04-16 157 87353d8a Ralf Baechle 2007-11-19 @158 irq += cputoslice(destid); ^1da177e Linus Torvalds 2005-04-16 159 ^1da177e Linus Torvalds 2005-04-16 160 /* 87353d8a Ralf Baechle 2007-11-19 161 * Convert the compact hub number to the NASID to get the correct 87353d8a Ralf Baechle 2007-11-19 162 * part of the address space. Then set the interrupt bit associated 87353d8a Ralf Baechle 2007-11-19 163 * with the CPU we want to send the interrupt to. ^1da177e Linus Torvalds 2005-04-16 164 */ 87353d8a Ralf Baechle 2007-11-19 @165 REMOTE_HUB_SEND_INTR(COMPACT_TO_NASID_NODEID(cpu_to_node(destid)), irq); ^1da177e Linus Torvalds 2005-04-16 166 } ^1da177e Linus Torvalds 2005-04-16 167 b533e652 Ralf Baechle 2009-09-25 168 static void ip27_send_ipi_mask(const struct cpumask *mask, unsigned int action) :::::: The code at line 165 was first introduced by commit :::::: 87353d8ac39c52784da605ecbe965ecdfad609ad [MIPS] SMP: Call platform methods via ops structure. :::::: TO: Ralf Baechle :::::: CC: Ralf Baechle --- 0-DAY kernel test infrastructure Open Source Technology Center https://lists.01.org/pipermail/kbuild-all Intel Corporation --uAKRQypu60I7Lcqm Content-Type: application/gzip Content-Disposition: attachment; filename=".config.gz" Content-Transfer-Encoding: base64 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 laX3QYTQ/wEs3viE4+4AAA== --uAKRQypu60I7Lcqm--