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: Sat, 27 Jun 2020 19:46:56 +0000 [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 --]
WARNING: multiple messages have this Message-ID (diff)
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 --]
WARNING: multiple messages have this Message-ID (diff)
From: kernel test robot <lkp@intel.com>
To: kbuild-all@lists.01.org
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: 5266 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(a)lists.01.org
[-- Attachment #2: config.gz --]
[-- Type: application/gzip, Size: 25869 bytes --]
next prev parent reply other threads:[~2020-06-27 19:46 UTC|newest]
Thread overview: 24+ 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 ` Nicholas Piggin
2020-06-27 15:04 ` [PATCH 1/3] powerpc: inline doorbell sending functions Nicholas Piggin
2020-06-27 15:04 ` Nicholas Piggin
2020-06-27 19:46 ` kernel test robot [this message]
2020-06-27 19:46 ` kernel test robot
2020-06-27 19:46 ` kernel test robot
2020-06-30 1:31 ` Michael Ellerman
2020-06-30 1:31 ` Michael Ellerman
2020-06-30 1:31 ` Michael Ellerman
2020-06-30 1:58 ` Nicholas Piggin
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 ` Nicholas Piggin
2020-06-27 15:04 ` [PATCH 3/3] powerpc/pseries: Add KVM guest doorbell restrictions Nicholas Piggin
2020-06-27 15:04 ` Nicholas Piggin
2020-06-30 2:27 ` Paul Mackerras
2020-06-30 2:27 ` Paul Mackerras
2020-06-30 5:35 ` Nicholas Piggin
2020-06-30 5:35 ` Nicholas Piggin
2020-06-30 8:26 ` Paul Mackerras
2020-06-30 8:26 ` Paul Mackerras
2020-06-30 11:57 ` Nicholas Piggin
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.com \
--cc=anton@linux.ibm.com \
--cc=clg@kaod.org \
--cc=david@gibson.dropbear.id.au \
--cc=kbuild-all@lists.01.org \
--cc=kvm-ppc@vger.kernel.org \
--cc=linuxppc-dev@lists.ozlabs.org \
--cc=npiggin@gmail.com \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.