All of lore.kernel.org
 help / color / mirror / Atom feed
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 --]

  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.