From: kernel test robot <lkp@intel.com>
To: Mauro Carvalho Chehab <mchehab@kernel.org>,
Jonathan Corbet <corbet@lwn.net>,
Linux Doc Mailing List <linux-doc@vger.kernel.org>
Cc: kbuild-all@lists.01.org, linux-media@vger.kernel.org,
Mauro Carvalho Chehab <mchehab@kernel.org>,
linux-kernel@vger.kernel.org
Subject: Re: [PATCH v2] kernel-doc: validate kernel-doc markup with the actual names
Date: Fri, 23 Oct 2020 19:02:30 +0800 [thread overview]
Message-ID: <202010231818.TdA53L18-lkp@intel.com> (raw)
In-Reply-To: <ebd075324a26f07b801cc47465cff51e9bf5c115.1603443534.git.mchehab+huawei@kernel.org>
[-- Attachment #1: Type: text/plain, Size: 12185 bytes --]
Hi Mauro,
I love your patch! Perhaps something to improve:
[auto build test WARNING on linus/master]
[also build test WARNING on next-20201023]
[cannot apply to lwn/docs-next linux/master v5.9]
[If your patch is applied to the wrong git tree, kindly drop us a note.
And when submitting patch, we suggest to use '--base' as documented in
https://git-scm.com/docs/git-format-patch]
url: https://github.com/0day-ci/linux/commits/Mauro-Carvalho-Chehab/kernel-doc-validate-kernel-doc-markup-with-the-actual-names/20201023-170132
base: https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git f9893351acaecf0a414baf9942b48d5bb5c688c6
config: nds32-defconfig (attached as .config)
compiler: nds32le-linux-gcc (GCC) 9.3.0
reproduce (this is a W=1 build):
wget https://raw.githubusercontent.com/intel/lkp-tests/master/sbin/make.cross -O ~/bin/make.cross
chmod +x ~/bin/make.cross
# https://github.com/0day-ci/linux/commit/234e4a9d3907dbf2a71da9a2f49007e19d2a2e68
git remote add linux-review https://github.com/0day-ci/linux
git fetch --no-tags linux-review Mauro-Carvalho-Chehab/kernel-doc-validate-kernel-doc-markup-with-the-actual-names/20201023-170132
git checkout 234e4a9d3907dbf2a71da9a2f49007e19d2a2e68
# save the attached .config to linux build tree
COMPILER_INSTALL_PATH=$HOME/0day COMPILER=gcc-9.3.0 make.cross ARCH=nds32
If you fix the issue, kindly add following tag as appropriate
Reported-by: kernel test robot <lkp@intel.com>
All warnings (new ones prefixed by >>):
kernel/cpu.c:56: warning: cannot understand function prototype: 'struct cpuhp_cpu_state '
kernel/cpu.c:113: warning: cannot understand function prototype: 'struct cpuhp_step '
>> kernel/cpu.c:151: warning: expecting prototype for cpuhp_invoke_callback _ Invoke the callbacks for a given state(). Prototype was for cpuhp_invoke_callback() instead
>> kernel/cpu.c:1142: warning: wrong kernel-doc identifier on line:
* notify_cpu_starting(cpu) - Invoke the callbacks on the starting CPU
kernel/cpu.c:1884: warning: Function parameter or member 'name' not described in '__cpuhp_setup_state_cpuslocked'
--
kernel/fork.c:1134: warning: Function parameter or member 'mm' not described in 'set_mm_exe_file'
kernel/fork.c:1134: warning: Function parameter or member 'new_exe_file' not described in 'set_mm_exe_file'
kernel/fork.c:1158: warning: Function parameter or member 'mm' not described in 'get_mm_exe_file'
kernel/fork.c:1178: warning: Function parameter or member 'task' not described in 'get_task_exe_file'
kernel/fork.c:1203: warning: Function parameter or member 'task' not described in 'get_task_mm'
>> kernel/fork.c:2716: warning: expecting prototype for clone3(). Prototype was for sys_clone3() instead
--
>> kernel/resource.c:344: warning: expecting prototype for The(). Prototype was for find_next_iomem_res() instead
>> kernel/resource.c:436: warning: expecting prototype for with matching resource(). Prototype was for walk_iomem_res_desc() instead
--
>> kernel/pid.c:585: warning: expecting prototype for pidfd_open(). Prototype was for sys_pidfd_open() instead
--
mm/truncate.c:646: warning: Function parameter or member 'mapping' not described in 'invalidate_mapping_pagevec'
mm/truncate.c:646: warning: Function parameter or member 'start' not described in 'invalidate_mapping_pagevec'
mm/truncate.c:646: warning: Function parameter or member 'end' not described in 'invalidate_mapping_pagevec'
mm/truncate.c:646: warning: Function parameter or member 'nr_pagevec' not described in 'invalidate_mapping_pagevec'
>> mm/truncate.c:646: warning: expecting prototype for except that it accounts for pages(). Prototype was for invalidate_mapping_pagevec() instead
--
>> mm/vmscan.c:1652: warning: expecting prototype for pgdat(). Prototype was for isolate_lru_pages() instead
--
>> mm/gup.c:1963: warning: expecting prototype for is suitable to replace the form(). Prototype was for get_user_pages_locked() instead
--
>> mm/page_alloc.c:510: warning: expecting prototype for get_pfnblock_flags_mask(). Prototype was for __get_pfnblock_flags_mask() instead
--
fs/open.c:887: warning: Excess function parameter 'opened' description in 'finish_open'
fs/open.c:929: warning: Excess function parameter 'cred' description in 'vfs_open'
>> fs/open.c:1320: warning: expecting prototype for close_range(). Prototype was for sys_close_range() instead
--
>> fs/super.c:1830: warning: expecting prototype for thaw_super(). Prototype was for thaw_super_locked() instead
--
>> fs/ioctl.c:109: warning: expecting prototype for fiemap_fill_next_extent(). Prototype was for SET_UNKNOWN_FLAGS() instead
fs/ioctl.c:785: warning: Function parameter or member 'file' not described in 'compat_ptr_ioctl'
fs/ioctl.c:785: warning: Function parameter or member 'cmd' not described in 'compat_ptr_ioctl'
fs/ioctl.c:785: warning: Function parameter or member 'arg' not described in 'compat_ptr_ioctl'
..
vim +151 kernel/cpu.c
a724632ca0c84b4 Thomas Gleixner 2016-08-12 137
cff7d378d3fdbb5 Thomas Gleixner 2016-02-26 138 /**
cff7d378d3fdbb5 Thomas Gleixner 2016-02-26 139 * cpuhp_invoke_callback _ Invoke the callbacks for a given state
cff7d378d3fdbb5 Thomas Gleixner 2016-02-26 140 * @cpu: The cpu for which the callback should be invoked
96abb968549cdef Peter Zijlstra 2017-09-20 141 * @state: The state to do callbacks for
a724632ca0c84b4 Thomas Gleixner 2016-08-12 142 * @bringup: True if the bringup callback should be invoked
96abb968549cdef Peter Zijlstra 2017-09-20 143 * @node: For multi-instance, do a single entry callback for install/remove
96abb968549cdef Peter Zijlstra 2017-09-20 144 * @lastp: For multi-instance rollback, remember how far we got
cff7d378d3fdbb5 Thomas Gleixner 2016-02-26 145 *
cf392d10b69e6e6 Thomas Gleixner 2016-08-12 146 * Called from cpu hotplug and from the state register machinery.
cff7d378d3fdbb5 Thomas Gleixner 2016-02-26 147 */
a724632ca0c84b4 Thomas Gleixner 2016-08-12 148 static int cpuhp_invoke_callback(unsigned int cpu, enum cpuhp_state state,
96abb968549cdef Peter Zijlstra 2017-09-20 149 bool bringup, struct hlist_node *node,
96abb968549cdef Peter Zijlstra 2017-09-20 150 struct hlist_node **lastp)
cff7d378d3fdbb5 Thomas Gleixner 2016-02-26 @151 {
cff7d378d3fdbb5 Thomas Gleixner 2016-02-26 152 struct cpuhp_cpu_state *st = per_cpu_ptr(&cpuhp_state, cpu);
a724632ca0c84b4 Thomas Gleixner 2016-08-12 153 struct cpuhp_step *step = cpuhp_get_step(state);
cf392d10b69e6e6 Thomas Gleixner 2016-08-12 154 int (*cbm)(unsigned int cpu, struct hlist_node *node);
cf392d10b69e6e6 Thomas Gleixner 2016-08-12 155 int (*cb)(unsigned int cpu);
cf392d10b69e6e6 Thomas Gleixner 2016-08-12 156 int ret, cnt;
cff7d378d3fdbb5 Thomas Gleixner 2016-02-26 157
1db49484f21ed0f Peter Zijlstra 2017-09-20 158 if (st->fail == state) {
1db49484f21ed0f Peter Zijlstra 2017-09-20 159 st->fail = CPUHP_INVALID;
1db49484f21ed0f Peter Zijlstra 2017-09-20 160
1db49484f21ed0f Peter Zijlstra 2017-09-20 161 if (!(bringup ? step->startup.single : step->teardown.single))
1db49484f21ed0f Peter Zijlstra 2017-09-20 162 return 0;
1db49484f21ed0f Peter Zijlstra 2017-09-20 163
1db49484f21ed0f Peter Zijlstra 2017-09-20 164 return -EAGAIN;
1db49484f21ed0f Peter Zijlstra 2017-09-20 165 }
1db49484f21ed0f Peter Zijlstra 2017-09-20 166
cf392d10b69e6e6 Thomas Gleixner 2016-08-12 167 if (!step->multi_instance) {
96abb968549cdef Peter Zijlstra 2017-09-20 168 WARN_ON_ONCE(lastp && *lastp);
3c1627e999e45e2 Thomas Gleixner 2016-09-05 169 cb = bringup ? step->startup.single : step->teardown.single;
cf392d10b69e6e6 Thomas Gleixner 2016-08-12 170 if (!cb)
cf392d10b69e6e6 Thomas Gleixner 2016-08-12 171 return 0;
a724632ca0c84b4 Thomas Gleixner 2016-08-12 172 trace_cpuhp_enter(cpu, st->target, state, cb);
cff7d378d3fdbb5 Thomas Gleixner 2016-02-26 173 ret = cb(cpu);
a724632ca0c84b4 Thomas Gleixner 2016-08-12 174 trace_cpuhp_exit(cpu, st->state, state, ret);
cf392d10b69e6e6 Thomas Gleixner 2016-08-12 175 return ret;
cf392d10b69e6e6 Thomas Gleixner 2016-08-12 176 }
3c1627e999e45e2 Thomas Gleixner 2016-09-05 177 cbm = bringup ? step->startup.multi : step->teardown.multi;
cf392d10b69e6e6 Thomas Gleixner 2016-08-12 178 if (!cbm)
cf392d10b69e6e6 Thomas Gleixner 2016-08-12 179 return 0;
cf392d10b69e6e6 Thomas Gleixner 2016-08-12 180
cf392d10b69e6e6 Thomas Gleixner 2016-08-12 181 /* Single invocation for instance add/remove */
cf392d10b69e6e6 Thomas Gleixner 2016-08-12 182 if (node) {
96abb968549cdef Peter Zijlstra 2017-09-20 183 WARN_ON_ONCE(lastp && *lastp);
cf392d10b69e6e6 Thomas Gleixner 2016-08-12 184 trace_cpuhp_multi_enter(cpu, st->target, state, cbm, node);
cf392d10b69e6e6 Thomas Gleixner 2016-08-12 185 ret = cbm(cpu, node);
cf392d10b69e6e6 Thomas Gleixner 2016-08-12 186 trace_cpuhp_exit(cpu, st->state, state, ret);
cf392d10b69e6e6 Thomas Gleixner 2016-08-12 187 return ret;
cf392d10b69e6e6 Thomas Gleixner 2016-08-12 188 }
cf392d10b69e6e6 Thomas Gleixner 2016-08-12 189
cf392d10b69e6e6 Thomas Gleixner 2016-08-12 190 /* State transition. Invoke on all instances */
cf392d10b69e6e6 Thomas Gleixner 2016-08-12 191 cnt = 0;
cf392d10b69e6e6 Thomas Gleixner 2016-08-12 192 hlist_for_each(node, &step->list) {
96abb968549cdef Peter Zijlstra 2017-09-20 193 if (lastp && node == *lastp)
96abb968549cdef Peter Zijlstra 2017-09-20 194 break;
96abb968549cdef Peter Zijlstra 2017-09-20 195
cf392d10b69e6e6 Thomas Gleixner 2016-08-12 196 trace_cpuhp_multi_enter(cpu, st->target, state, cbm, node);
cf392d10b69e6e6 Thomas Gleixner 2016-08-12 197 ret = cbm(cpu, node);
cf392d10b69e6e6 Thomas Gleixner 2016-08-12 198 trace_cpuhp_exit(cpu, st->state, state, ret);
96abb968549cdef Peter Zijlstra 2017-09-20 199 if (ret) {
96abb968549cdef Peter Zijlstra 2017-09-20 200 if (!lastp)
cf392d10b69e6e6 Thomas Gleixner 2016-08-12 201 goto err;
96abb968549cdef Peter Zijlstra 2017-09-20 202
96abb968549cdef Peter Zijlstra 2017-09-20 203 *lastp = node;
96abb968549cdef Peter Zijlstra 2017-09-20 204 return ret;
96abb968549cdef Peter Zijlstra 2017-09-20 205 }
cf392d10b69e6e6 Thomas Gleixner 2016-08-12 206 cnt++;
cf392d10b69e6e6 Thomas Gleixner 2016-08-12 207 }
96abb968549cdef Peter Zijlstra 2017-09-20 208 if (lastp)
96abb968549cdef Peter Zijlstra 2017-09-20 209 *lastp = NULL;
cf392d10b69e6e6 Thomas Gleixner 2016-08-12 210 return 0;
cf392d10b69e6e6 Thomas Gleixner 2016-08-12 211 err:
cf392d10b69e6e6 Thomas Gleixner 2016-08-12 212 /* Rollback the instances if one failed */
3c1627e999e45e2 Thomas Gleixner 2016-09-05 213 cbm = !bringup ? step->startup.multi : step->teardown.multi;
cf392d10b69e6e6 Thomas Gleixner 2016-08-12 214 if (!cbm)
cf392d10b69e6e6 Thomas Gleixner 2016-08-12 215 return ret;
cf392d10b69e6e6 Thomas Gleixner 2016-08-12 216
cf392d10b69e6e6 Thomas Gleixner 2016-08-12 217 hlist_for_each(node, &step->list) {
cf392d10b69e6e6 Thomas Gleixner 2016-08-12 218 if (!cnt--)
cf392d10b69e6e6 Thomas Gleixner 2016-08-12 219 break;
724a86881d03ee5 Peter Zijlstra 2017-09-20 220
724a86881d03ee5 Peter Zijlstra 2017-09-20 221 trace_cpuhp_multi_enter(cpu, st->target, state, cbm, node);
724a86881d03ee5 Peter Zijlstra 2017-09-20 222 ret = cbm(cpu, node);
724a86881d03ee5 Peter Zijlstra 2017-09-20 223 trace_cpuhp_exit(cpu, st->state, state, ret);
724a86881d03ee5 Peter Zijlstra 2017-09-20 224 /*
724a86881d03ee5 Peter Zijlstra 2017-09-20 225 * Rollback must not fail,
724a86881d03ee5 Peter Zijlstra 2017-09-20 226 */
724a86881d03ee5 Peter Zijlstra 2017-09-20 227 WARN_ON_ONCE(ret);
cff7d378d3fdbb5 Thomas Gleixner 2016-02-26 228 }
cff7d378d3fdbb5 Thomas Gleixner 2016-02-26 229 return ret;
cff7d378d3fdbb5 Thomas Gleixner 2016-02-26 230 }
cff7d378d3fdbb5 Thomas Gleixner 2016-02-26 231
---
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: 10938 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 v2] kernel-doc: validate kernel-doc markup with the actual names
Date: Fri, 23 Oct 2020 19:02:30 +0800 [thread overview]
Message-ID: <202010231818.TdA53L18-lkp@intel.com> (raw)
In-Reply-To: <ebd075324a26f07b801cc47465cff51e9bf5c115.1603443534.git.mchehab+huawei@kernel.org>
[-- Attachment #1: Type: text/plain, Size: 12361 bytes --]
Hi Mauro,
I love your patch! Perhaps something to improve:
[auto build test WARNING on linus/master]
[also build test WARNING on next-20201023]
[cannot apply to lwn/docs-next linux/master v5.9]
[If your patch is applied to the wrong git tree, kindly drop us a note.
And when submitting patch, we suggest to use '--base' as documented in
https://git-scm.com/docs/git-format-patch]
url: https://github.com/0day-ci/linux/commits/Mauro-Carvalho-Chehab/kernel-doc-validate-kernel-doc-markup-with-the-actual-names/20201023-170132
base: https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git f9893351acaecf0a414baf9942b48d5bb5c688c6
config: nds32-defconfig (attached as .config)
compiler: nds32le-linux-gcc (GCC) 9.3.0
reproduce (this is a W=1 build):
wget https://raw.githubusercontent.com/intel/lkp-tests/master/sbin/make.cross -O ~/bin/make.cross
chmod +x ~/bin/make.cross
# https://github.com/0day-ci/linux/commit/234e4a9d3907dbf2a71da9a2f49007e19d2a2e68
git remote add linux-review https://github.com/0day-ci/linux
git fetch --no-tags linux-review Mauro-Carvalho-Chehab/kernel-doc-validate-kernel-doc-markup-with-the-actual-names/20201023-170132
git checkout 234e4a9d3907dbf2a71da9a2f49007e19d2a2e68
# save the attached .config to linux build tree
COMPILER_INSTALL_PATH=$HOME/0day COMPILER=gcc-9.3.0 make.cross ARCH=nds32
If you fix the issue, kindly add following tag as appropriate
Reported-by: kernel test robot <lkp@intel.com>
All warnings (new ones prefixed by >>):
kernel/cpu.c:56: warning: cannot understand function prototype: 'struct cpuhp_cpu_state '
kernel/cpu.c:113: warning: cannot understand function prototype: 'struct cpuhp_step '
>> kernel/cpu.c:151: warning: expecting prototype for cpuhp_invoke_callback _ Invoke the callbacks for a given state(). Prototype was for cpuhp_invoke_callback() instead
>> kernel/cpu.c:1142: warning: wrong kernel-doc identifier on line:
* notify_cpu_starting(cpu) - Invoke the callbacks on the starting CPU
kernel/cpu.c:1884: warning: Function parameter or member 'name' not described in '__cpuhp_setup_state_cpuslocked'
--
kernel/fork.c:1134: warning: Function parameter or member 'mm' not described in 'set_mm_exe_file'
kernel/fork.c:1134: warning: Function parameter or member 'new_exe_file' not described in 'set_mm_exe_file'
kernel/fork.c:1158: warning: Function parameter or member 'mm' not described in 'get_mm_exe_file'
kernel/fork.c:1178: warning: Function parameter or member 'task' not described in 'get_task_exe_file'
kernel/fork.c:1203: warning: Function parameter or member 'task' not described in 'get_task_mm'
>> kernel/fork.c:2716: warning: expecting prototype for clone3(). Prototype was for sys_clone3() instead
--
>> kernel/resource.c:344: warning: expecting prototype for The(). Prototype was for find_next_iomem_res() instead
>> kernel/resource.c:436: warning: expecting prototype for with matching resource(). Prototype was for walk_iomem_res_desc() instead
--
>> kernel/pid.c:585: warning: expecting prototype for pidfd_open(). Prototype was for sys_pidfd_open() instead
--
mm/truncate.c:646: warning: Function parameter or member 'mapping' not described in 'invalidate_mapping_pagevec'
mm/truncate.c:646: warning: Function parameter or member 'start' not described in 'invalidate_mapping_pagevec'
mm/truncate.c:646: warning: Function parameter or member 'end' not described in 'invalidate_mapping_pagevec'
mm/truncate.c:646: warning: Function parameter or member 'nr_pagevec' not described in 'invalidate_mapping_pagevec'
>> mm/truncate.c:646: warning: expecting prototype for except that it accounts for pages(). Prototype was for invalidate_mapping_pagevec() instead
--
>> mm/vmscan.c:1652: warning: expecting prototype for pgdat(). Prototype was for isolate_lru_pages() instead
--
>> mm/gup.c:1963: warning: expecting prototype for is suitable to replace the form(). Prototype was for get_user_pages_locked() instead
--
>> mm/page_alloc.c:510: warning: expecting prototype for get_pfnblock_flags_mask(). Prototype was for __get_pfnblock_flags_mask() instead
--
fs/open.c:887: warning: Excess function parameter 'opened' description in 'finish_open'
fs/open.c:929: warning: Excess function parameter 'cred' description in 'vfs_open'
>> fs/open.c:1320: warning: expecting prototype for close_range(). Prototype was for sys_close_range() instead
--
>> fs/super.c:1830: warning: expecting prototype for thaw_super(). Prototype was for thaw_super_locked() instead
--
>> fs/ioctl.c:109: warning: expecting prototype for fiemap_fill_next_extent(). Prototype was for SET_UNKNOWN_FLAGS() instead
fs/ioctl.c:785: warning: Function parameter or member 'file' not described in 'compat_ptr_ioctl'
fs/ioctl.c:785: warning: Function parameter or member 'cmd' not described in 'compat_ptr_ioctl'
fs/ioctl.c:785: warning: Function parameter or member 'arg' not described in 'compat_ptr_ioctl'
..
vim +151 kernel/cpu.c
a724632ca0c84b4 Thomas Gleixner 2016-08-12 137
cff7d378d3fdbb5 Thomas Gleixner 2016-02-26 138 /**
cff7d378d3fdbb5 Thomas Gleixner 2016-02-26 139 * cpuhp_invoke_callback _ Invoke the callbacks for a given state
cff7d378d3fdbb5 Thomas Gleixner 2016-02-26 140 * @cpu: The cpu for which the callback should be invoked
96abb968549cdef Peter Zijlstra 2017-09-20 141 * @state: The state to do callbacks for
a724632ca0c84b4 Thomas Gleixner 2016-08-12 142 * @bringup: True if the bringup callback should be invoked
96abb968549cdef Peter Zijlstra 2017-09-20 143 * @node: For multi-instance, do a single entry callback for install/remove
96abb968549cdef Peter Zijlstra 2017-09-20 144 * @lastp: For multi-instance rollback, remember how far we got
cff7d378d3fdbb5 Thomas Gleixner 2016-02-26 145 *
cf392d10b69e6e6 Thomas Gleixner 2016-08-12 146 * Called from cpu hotplug and from the state register machinery.
cff7d378d3fdbb5 Thomas Gleixner 2016-02-26 147 */
a724632ca0c84b4 Thomas Gleixner 2016-08-12 148 static int cpuhp_invoke_callback(unsigned int cpu, enum cpuhp_state state,
96abb968549cdef Peter Zijlstra 2017-09-20 149 bool bringup, struct hlist_node *node,
96abb968549cdef Peter Zijlstra 2017-09-20 150 struct hlist_node **lastp)
cff7d378d3fdbb5 Thomas Gleixner 2016-02-26 @151 {
cff7d378d3fdbb5 Thomas Gleixner 2016-02-26 152 struct cpuhp_cpu_state *st = per_cpu_ptr(&cpuhp_state, cpu);
a724632ca0c84b4 Thomas Gleixner 2016-08-12 153 struct cpuhp_step *step = cpuhp_get_step(state);
cf392d10b69e6e6 Thomas Gleixner 2016-08-12 154 int (*cbm)(unsigned int cpu, struct hlist_node *node);
cf392d10b69e6e6 Thomas Gleixner 2016-08-12 155 int (*cb)(unsigned int cpu);
cf392d10b69e6e6 Thomas Gleixner 2016-08-12 156 int ret, cnt;
cff7d378d3fdbb5 Thomas Gleixner 2016-02-26 157
1db49484f21ed0f Peter Zijlstra 2017-09-20 158 if (st->fail == state) {
1db49484f21ed0f Peter Zijlstra 2017-09-20 159 st->fail = CPUHP_INVALID;
1db49484f21ed0f Peter Zijlstra 2017-09-20 160
1db49484f21ed0f Peter Zijlstra 2017-09-20 161 if (!(bringup ? step->startup.single : step->teardown.single))
1db49484f21ed0f Peter Zijlstra 2017-09-20 162 return 0;
1db49484f21ed0f Peter Zijlstra 2017-09-20 163
1db49484f21ed0f Peter Zijlstra 2017-09-20 164 return -EAGAIN;
1db49484f21ed0f Peter Zijlstra 2017-09-20 165 }
1db49484f21ed0f Peter Zijlstra 2017-09-20 166
cf392d10b69e6e6 Thomas Gleixner 2016-08-12 167 if (!step->multi_instance) {
96abb968549cdef Peter Zijlstra 2017-09-20 168 WARN_ON_ONCE(lastp && *lastp);
3c1627e999e45e2 Thomas Gleixner 2016-09-05 169 cb = bringup ? step->startup.single : step->teardown.single;
cf392d10b69e6e6 Thomas Gleixner 2016-08-12 170 if (!cb)
cf392d10b69e6e6 Thomas Gleixner 2016-08-12 171 return 0;
a724632ca0c84b4 Thomas Gleixner 2016-08-12 172 trace_cpuhp_enter(cpu, st->target, state, cb);
cff7d378d3fdbb5 Thomas Gleixner 2016-02-26 173 ret = cb(cpu);
a724632ca0c84b4 Thomas Gleixner 2016-08-12 174 trace_cpuhp_exit(cpu, st->state, state, ret);
cf392d10b69e6e6 Thomas Gleixner 2016-08-12 175 return ret;
cf392d10b69e6e6 Thomas Gleixner 2016-08-12 176 }
3c1627e999e45e2 Thomas Gleixner 2016-09-05 177 cbm = bringup ? step->startup.multi : step->teardown.multi;
cf392d10b69e6e6 Thomas Gleixner 2016-08-12 178 if (!cbm)
cf392d10b69e6e6 Thomas Gleixner 2016-08-12 179 return 0;
cf392d10b69e6e6 Thomas Gleixner 2016-08-12 180
cf392d10b69e6e6 Thomas Gleixner 2016-08-12 181 /* Single invocation for instance add/remove */
cf392d10b69e6e6 Thomas Gleixner 2016-08-12 182 if (node) {
96abb968549cdef Peter Zijlstra 2017-09-20 183 WARN_ON_ONCE(lastp && *lastp);
cf392d10b69e6e6 Thomas Gleixner 2016-08-12 184 trace_cpuhp_multi_enter(cpu, st->target, state, cbm, node);
cf392d10b69e6e6 Thomas Gleixner 2016-08-12 185 ret = cbm(cpu, node);
cf392d10b69e6e6 Thomas Gleixner 2016-08-12 186 trace_cpuhp_exit(cpu, st->state, state, ret);
cf392d10b69e6e6 Thomas Gleixner 2016-08-12 187 return ret;
cf392d10b69e6e6 Thomas Gleixner 2016-08-12 188 }
cf392d10b69e6e6 Thomas Gleixner 2016-08-12 189
cf392d10b69e6e6 Thomas Gleixner 2016-08-12 190 /* State transition. Invoke on all instances */
cf392d10b69e6e6 Thomas Gleixner 2016-08-12 191 cnt = 0;
cf392d10b69e6e6 Thomas Gleixner 2016-08-12 192 hlist_for_each(node, &step->list) {
96abb968549cdef Peter Zijlstra 2017-09-20 193 if (lastp && node == *lastp)
96abb968549cdef Peter Zijlstra 2017-09-20 194 break;
96abb968549cdef Peter Zijlstra 2017-09-20 195
cf392d10b69e6e6 Thomas Gleixner 2016-08-12 196 trace_cpuhp_multi_enter(cpu, st->target, state, cbm, node);
cf392d10b69e6e6 Thomas Gleixner 2016-08-12 197 ret = cbm(cpu, node);
cf392d10b69e6e6 Thomas Gleixner 2016-08-12 198 trace_cpuhp_exit(cpu, st->state, state, ret);
96abb968549cdef Peter Zijlstra 2017-09-20 199 if (ret) {
96abb968549cdef Peter Zijlstra 2017-09-20 200 if (!lastp)
cf392d10b69e6e6 Thomas Gleixner 2016-08-12 201 goto err;
96abb968549cdef Peter Zijlstra 2017-09-20 202
96abb968549cdef Peter Zijlstra 2017-09-20 203 *lastp = node;
96abb968549cdef Peter Zijlstra 2017-09-20 204 return ret;
96abb968549cdef Peter Zijlstra 2017-09-20 205 }
cf392d10b69e6e6 Thomas Gleixner 2016-08-12 206 cnt++;
cf392d10b69e6e6 Thomas Gleixner 2016-08-12 207 }
96abb968549cdef Peter Zijlstra 2017-09-20 208 if (lastp)
96abb968549cdef Peter Zijlstra 2017-09-20 209 *lastp = NULL;
cf392d10b69e6e6 Thomas Gleixner 2016-08-12 210 return 0;
cf392d10b69e6e6 Thomas Gleixner 2016-08-12 211 err:
cf392d10b69e6e6 Thomas Gleixner 2016-08-12 212 /* Rollback the instances if one failed */
3c1627e999e45e2 Thomas Gleixner 2016-09-05 213 cbm = !bringup ? step->startup.multi : step->teardown.multi;
cf392d10b69e6e6 Thomas Gleixner 2016-08-12 214 if (!cbm)
cf392d10b69e6e6 Thomas Gleixner 2016-08-12 215 return ret;
cf392d10b69e6e6 Thomas Gleixner 2016-08-12 216
cf392d10b69e6e6 Thomas Gleixner 2016-08-12 217 hlist_for_each(node, &step->list) {
cf392d10b69e6e6 Thomas Gleixner 2016-08-12 218 if (!cnt--)
cf392d10b69e6e6 Thomas Gleixner 2016-08-12 219 break;
724a86881d03ee5 Peter Zijlstra 2017-09-20 220
724a86881d03ee5 Peter Zijlstra 2017-09-20 221 trace_cpuhp_multi_enter(cpu, st->target, state, cbm, node);
724a86881d03ee5 Peter Zijlstra 2017-09-20 222 ret = cbm(cpu, node);
724a86881d03ee5 Peter Zijlstra 2017-09-20 223 trace_cpuhp_exit(cpu, st->state, state, ret);
724a86881d03ee5 Peter Zijlstra 2017-09-20 224 /*
724a86881d03ee5 Peter Zijlstra 2017-09-20 225 * Rollback must not fail,
724a86881d03ee5 Peter Zijlstra 2017-09-20 226 */
724a86881d03ee5 Peter Zijlstra 2017-09-20 227 WARN_ON_ONCE(ret);
cff7d378d3fdbb5 Thomas Gleixner 2016-02-26 228 }
cff7d378d3fdbb5 Thomas Gleixner 2016-02-26 229 return ret;
cff7d378d3fdbb5 Thomas Gleixner 2016-02-26 230 }
cff7d378d3fdbb5 Thomas Gleixner 2016-02-26 231
---
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: 10938 bytes --]
next prev parent reply other threads:[~2020-10-23 11:03 UTC|newest]
Thread overview: 6+ messages / expand[flat|nested] mbox.gz Atom feed top
2020-10-23 8:59 [PATCH v2] kernel-doc: validate kernel-doc markup with the actual names Mauro Carvalho Chehab
2020-10-23 9:26 ` Mauro Carvalho Chehab
2020-10-23 11:02 ` kernel test robot [this message]
2020-10-23 11:02 ` kernel test robot
2020-10-23 11:24 ` kernel test robot
2020-10-23 11:24 ` kernel test robot
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=202010231818.TdA53L18-lkp@intel.com \
--to=lkp@intel.com \
--cc=corbet@lwn.net \
--cc=kbuild-all@lists.01.org \
--cc=linux-doc@vger.kernel.org \
--cc=linux-kernel@vger.kernel.org \
--cc=linux-media@vger.kernel.org \
--cc=mchehab@kernel.org \
/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.