From: kernel test robot <lkp@intel•com>
To: Nicholas Piggin <npiggin@gmail•com>, linuxppc-dev@lists•ozlabs.org
Cc: kvm-ppc@vger•kernel.org, kbuild-all@lists•01.org,
"Nicholas Piggin" <npiggin@gmail•com>,
"Anton Blanchard" <anton@linux•ibm.com>,
"Cédric Le Goater" <clg@kaod•org>,
"David Gibson" <david@gibson•dropbear.id.au>
Subject: Re: [PATCH 1/3] powerpc: inline doorbell sending functions
Date: Sun, 28 Jun 2020 03:46:56 +0800 [thread overview]
Message-ID: <202006280326.fcRFUNzs%lkp@intel.com> (raw)
In-Reply-To: <20200627150428.2525192-2-npiggin@gmail.com>
[-- Attachment #1: Type: text/plain, Size: 5147 bytes --]
Hi Nicholas,
I love your patch! Yet something to improve:
[auto build test ERROR on powerpc/next]
[also build test ERROR on scottwood/next v5.8-rc2 next-20200626]
[cannot apply to kvm-ppc/kvm-ppc-next]
[If your patch is applied to the wrong git tree, kindly drop us a note.
And when submitting patch, we suggest to use as documented in
https://git-scm.com/docs/git-format-patch]
url: https://github.com/0day-ci/linux/commits/Nicholas-Piggin/powerpc-pseries-IPI-doorbell-improvements/20200627-230544
base: https://git.kernel.org/pub/scm/linux/kernel/git/powerpc/linux.git next
config: powerpc-randconfig-c003-20200628 (attached as .config)
compiler: powerpc64-linux-gcc (GCC) 9.3.0
If you fix the issue, kindly add following tag as appropriate
Reported-by: kernel test robot <lkp@intel•com>
All error/warnings (new ones prefixed by >>):
In file included from arch/powerpc/kernel/asm-offsets.c:38:
arch/powerpc/include/asm/dbell.h: In function 'doorbell_global_ipi':
>> arch/powerpc/include/asm/dbell.h:114:12: error: implicit declaration of function 'get_hard_smp_processor_id'; did you mean 'raw_smp_processor_id'? [-Werror=implicit-function-declaration]
114 | u32 tag = get_hard_smp_processor_id(cpu);
| ^~~~~~~~~~~~~~~~~~~~~~~~~
| raw_smp_processor_id
arch/powerpc/include/asm/dbell.h: In function 'doorbell_try_core_ipi':
>> arch/powerpc/include/asm/dbell.h:146:28: error: implicit declaration of function 'cpu_sibling_mask'; did you mean 'cpu_online_mask'? [-Werror=implicit-function-declaration]
146 | if (cpumask_test_cpu(cpu, cpu_sibling_mask(this_cpu))) {
| ^~~~~~~~~~~~~~~~
| cpu_online_mask
>> arch/powerpc/include/asm/dbell.h:146:28: warning: passing argument 2 of 'cpumask_test_cpu' makes pointer from integer without a cast [-Wint-conversion]
146 | if (cpumask_test_cpu(cpu, cpu_sibling_mask(this_cpu))) {
| ^~~~~~~~~~~~~~~~~~~~~~~~~~
| |
| int
In file included from include/linux/workqueue.h:15,
from include/linux/rhashtable-types.h:15,
from include/linux/ipc.h:7,
from include/uapi/linux/sem.h:5,
from include/linux/sem.h:5,
from include/linux/compat.h:14,
from arch/powerpc/kernel/asm-offsets.c:14:
include/linux/cpumask.h:365:67: note: expected 'const struct cpumask *' but argument is of type 'int'
365 | static inline int cpumask_test_cpu(int cpu, const struct cpumask *cpumask)
| ~~~~~~~~~~~~~~~~~~~~~~^~~~~~~
cc1: some warnings being treated as errors
make[2]: *** [scripts/Makefile.build:114: arch/powerpc/kernel/asm-offsets.s] Error 1
make[2]: Target '__build' not remade because of errors.
make[1]: *** [Makefile:1175: prepare0] Error 2
make[1]: Target 'prepare' not remade because of errors.
make: *** [Makefile:185: __sub-make] Error 2
make: Target 'prepare' not remade because of errors.
vim +114 arch/powerpc/include/asm/dbell.h
100
101 /*
102 * Doorbells must only be used if CPU_FTR_DBELL is available.
103 * msgsnd is used in HV, and msgsndp is used in !HV.
104 *
105 * These should be used by platform code that is aware of restrictions.
106 * Other arch code should use ->cause_ipi.
107 *
108 * doorbell_global_ipi() sends a dbell to any target CPU.
109 * Must be used only by architectures that address msgsnd target
110 * by PIR/get_hard_smp_processor_id.
111 */
112 static inline void doorbell_global_ipi(int cpu)
113 {
> 114 u32 tag = get_hard_smp_processor_id(cpu);
115
116 kvmppc_set_host_ipi(cpu);
117 /* Order previous accesses vs. msgsnd, which is treated as a store */
118 ppc_msgsnd_sync();
119 ppc_msgsnd(PPC_DBELL_MSGTYPE, 0, tag);
120 }
121
122 /*
123 * doorbell_core_ipi() sends a dbell to a target CPU in the same core.
124 * Must be used only by architectures that address msgsnd target
125 * by TIR/cpu_thread_in_core.
126 */
127 static inline void doorbell_core_ipi(int cpu)
128 {
129 u32 tag = cpu_thread_in_core(cpu);
130
131 kvmppc_set_host_ipi(cpu);
132 /* Order previous accesses vs. msgsnd, which is treated as a store */
133 ppc_msgsnd_sync();
134 ppc_msgsnd(PPC_DBELL_MSGTYPE, 0, tag);
135 }
136
137 /*
138 * Attempt to cause a core doorbell if destination is on the same core.
139 * Returns 1 on success, 0 on failure.
140 */
141 static inline int doorbell_try_core_ipi(int cpu)
142 {
143 int this_cpu = get_cpu();
144 int ret = 0;
145
> 146 if (cpumask_test_cpu(cpu, cpu_sibling_mask(this_cpu))) {
147 doorbell_core_ipi(cpu);
148 ret = 1;
149 }
150
151 put_cpu();
152
153 return ret;
154 }
155
---
0-DAY CI Kernel Test Service, Intel Corporation
https://lists.01.org/hyperkitty/list/kbuild-all@lists.01.org
[-- Attachment #2: .config.gz --]
[-- Type: application/gzip, Size: 25869 bytes --]
next prev parent reply other threads:[~2020-06-27 19:49 UTC|newest]
Thread overview: 11+ messages / expand[flat|nested] mbox.gz Atom feed top
2020-06-27 15:04 [PATCH 0/3] powerpc/pseries: IPI doorbell improvements Nicholas Piggin
2020-06-27 15:04 ` [PATCH 1/3] powerpc: inline doorbell sending functions Nicholas Piggin
2020-06-27 19:46 ` kernel test robot [this message]
2020-06-30 1:31 ` Michael Ellerman
2020-06-30 1:58 ` Nicholas Piggin
2020-06-27 15:04 ` [PATCH 2/3] powerpc/pseries: Use doorbells even if XIVE is available Nicholas Piggin
2020-06-27 15:04 ` [PATCH 3/3] powerpc/pseries: Add KVM guest doorbell restrictions Nicholas Piggin
2020-06-30 2:27 ` Paul Mackerras
2020-06-30 5:35 ` Nicholas Piggin
2020-06-30 8:26 ` Paul Mackerras
2020-06-30 11:57 ` Nicholas Piggin
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=202006280326.fcRFUNzs%lkp@intel.com \
--to=lkp@intel$(echo .)com \
--cc=anton@linux$(echo .)ibm.com \
--cc=clg@kaod$(echo .)org \
--cc=david@gibson$(echo .)dropbear.id.au \
--cc=kbuild-all@lists$(echo .)01.org \
--cc=kvm-ppc@vger$(echo .)kernel.org \
--cc=linuxppc-dev@lists$(echo .)ozlabs.org \
--cc=npiggin@gmail$(echo .)com \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox