lists.openwall.net   lists  /  announce  owl-users  owl-dev  john-users  john-dev  passwdqc-users  yescrypt  popa3d-users  /  oss-security  kernel-hardening  musl  sabotage  tlsify  passwords  /  crypt-dev  xvendor  /  Bugtraq  Full-Disclosure  linux-kernel  linux-netdev  linux-ext4  linux-hardening  linux-cve-announce  PHC 
Open Source and information security mailing list archives
 
Hash Suite: Windows password security audit tool. GUI, reports in PDF.
[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Date:   Mon, 12 Sep 2022 18:33:07 +0800
From:   kernel test robot <lkp@...el.com>
To:     cgel.zte@...il.com, mingo@...hat.com
Cc:     kbuild-all@...ts.01.org, juri.lelli@...hat.com,
        vincent.guittot@...aro.org, dietmar.eggemann@....com,
        rostedt@...dmis.org, bsegall@...gle.com, mgorman@...e.de,
        bristot@...hat.com, vschneid@...hat.com,
        linux-kernel@...r.kernel.org, Xu Panda <xu.panda@....com.cn>,
        Zeal Robot <zealci@....com.cn>
Subject: Re: [PATCH linux-next] sched/core: remove duplicate referenced
 header files

Hi,

Thank you for the patch! Perhaps something to improve:

[auto build test WARNING on next-20220909]

url:    https://github.com/intel-lab-lkp/linux/commits/cgel-zte-gmail-com/sched-core-remove-duplicate-referenced-header-files/20220912-163221
base:    9a82ccda91ed2b40619cb3c10d446ae1f97bab6e
config: m68k-allyesconfig (https://download.01.org/0day-ci/archive/20220912/202209121840.ztJjt8BQ-lkp@intel.com/config)
compiler: m68k-linux-gcc (GCC) 12.1.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/intel-lab-lkp/linux/commit/4a9f2bfb0bf0353106fa2c74d7a8a0a0db2573df
        git remote add linux-review https://github.com/intel-lab-lkp/linux
        git fetch --no-tags linux-review cgel-zte-gmail-com/sched-core-remove-duplicate-referenced-header-files/20220912-163221
        git checkout 4a9f2bfb0bf0353106fa2c74d7a8a0a0db2573df
        # save the config file
        mkdir build_dir && cp config build_dir/.config
        COMPILER_INSTALL_PATH=$HOME/0day COMPILER=gcc-12.1.0 make.cross W=1 O=build_dir ARCH=m68k SHELL=/bin/bash kernel/

If you fix the issue, kindly add following tag where applicable
Reported-by: kernel test robot <lkp@...el.com>

All warnings (new ones prefixed by >>):

>> kernel/sched/core.c:8468:5: warning: no previous prototype for 'sched_dynamic_mode' [-Wmissing-prototypes]
    8468 | int sched_dynamic_mode(const char *str)
         |     ^~~~~~~~~~~~~~~~~~
   kernel/sched/core.c:8489:2: error: #error "Unsupported PREEMPT_DYNAMIC mechanism"
    8489 | #error "Unsupported PREEMPT_DYNAMIC mechanism"
         |  ^~~~~
>> kernel/sched/core.c:8492:6: warning: no previous prototype for 'sched_dynamic_update' [-Wmissing-prototypes]
    8492 | void sched_dynamic_update(int mode)
         |      ^~~~~~~~~~~~~~~~~~~~
   kernel/sched/core.c: In function 'sched_dynamic_update':
   kernel/sched/core.c:8498:9: error: implicit declaration of function 'preempt_dynamic_enable'; did you mean 'preempt_enable'? [-Werror=implicit-function-declaration]
    8498 |         preempt_dynamic_enable(cond_resched);
         |         ^~~~~~~~~~~~~~~~~~~~~~
         |         preempt_enable
   kernel/sched/core.c:8498:32: error: 'cond_resched' undeclared (first use in this function); did you mean '_cond_resched'?
    8498 |         preempt_dynamic_enable(cond_resched);
         |                                ^~~~~~~~~~~~
         |                                _cond_resched
   kernel/sched/core.c:8498:32: note: each undeclared identifier is reported only once for each function it appears in
   kernel/sched/core.c:8499:32: error: 'might_resched' undeclared (first use in this function)
    8499 |         preempt_dynamic_enable(might_resched);
         |                                ^~~~~~~~~~~~~
   kernel/sched/core.c:8500:32: error: 'preempt_schedule' undeclared (first use in this function); did you mean 'preempt_schedule_irq'?
    8500 |         preempt_dynamic_enable(preempt_schedule);
         |                                ^~~~~~~~~~~~~~~~
         |                                preempt_schedule_irq
   kernel/sched/core.c:8501:32: error: 'preempt_schedule_notrace' undeclared (first use in this function); did you mean 'preempt_schedule_common'?
    8501 |         preempt_dynamic_enable(preempt_schedule_notrace);
         |                                ^~~~~~~~~~~~~~~~~~~~~~~~
         |                                preempt_schedule_common
   kernel/sched/core.c:8502:32: error: 'irqentry_exit_cond_resched' undeclared (first use in this function)
    8502 |         preempt_dynamic_enable(irqentry_exit_cond_resched);
         |                                ^~~~~~~~~~~~~~~~~~~~~~~~~~
   kernel/sched/core.c:8507:17: error: implicit declaration of function 'preempt_dynamic_disable'; did you mean 'preempt_disable'? [-Werror=implicit-function-declaration]
    8507 |                 preempt_dynamic_disable(might_resched);
         |                 ^~~~~~~~~~~~~~~~~~~~~~~
         |                 preempt_disable
   kernel/sched/core.c: At top level:
   kernel/sched/core.c:8566:14: error: redefinition of 'preempt_model_none'
    8566 |         bool preempt_model_##mode(void)                                          \
         |              ^~~~~~~~~~~~~~
   kernel/sched/core.c:8573:1: note: in expansion of macro 'PREEMPT_MODEL_ACCESSOR'
    8573 | PREEMPT_MODEL_ACCESSOR(none);
         | ^~~~~~~~~~~~~~~~~~~~~~
   In file included from include/linux/sched/mm.h:7,
                    from include/linux/xarray.h:19,
                    from include/linux/list_lru.h:14,
                    from include/linux/fs.h:13,
                    from include/linux/highmem.h:5,
                    from kernel/sched/core.c:9:
   include/linux/sched.h:2154:20: note: previous definition of 'preempt_model_none' with type 'bool(void)' {aka '_Bool(void)'}
    2154 | static inline bool preempt_model_none(void)
         |                    ^~~~~~~~~~~~~~~~~~
   kernel/sched/core.c:8566:14: error: redefinition of 'preempt_model_voluntary'
    8566 |         bool preempt_model_##mode(void)                                          \
         |              ^~~~~~~~~~~~~~
   kernel/sched/core.c:8574:1: note: in expansion of macro 'PREEMPT_MODEL_ACCESSOR'
    8574 | PREEMPT_MODEL_ACCESSOR(voluntary);
         | ^~~~~~~~~~~~~~~~~~~~~~
   include/linux/sched.h:2158:20: note: previous definition of 'preempt_model_voluntary' with type 'bool(void)' {aka '_Bool(void)'}
    2158 | static inline bool preempt_model_voluntary(void)
         |                    ^~~~~~~~~~~~~~~~~~~~~~~
   kernel/sched/core.c:8566:14: error: redefinition of 'preempt_model_full'
    8566 |         bool preempt_model_##mode(void)                                          \
         |              ^~~~~~~~~~~~~~
   kernel/sched/core.c:8575:1: note: in expansion of macro 'PREEMPT_MODEL_ACCESSOR'
    8575 | PREEMPT_MODEL_ACCESSOR(full);
         | ^~~~~~~~~~~~~~~~~~~~~~
   include/linux/sched.h:2162:20: note: previous definition of 'preempt_model_full' with type 'bool(void)' {aka '_Bool(void)'}
    2162 | static inline bool preempt_model_full(void)
         |                    ^~~~~~~~~~~~~~~~~~
   kernel/sched/core.c:8577:2: error: #else without #if
    8577 | #else /* !CONFIG_PREEMPT_DYNAMIC */
         |  ^~~~
   kernel/sched/core.c:8579:20: error: redefinition of 'preempt_dynamic_init'
    8579 | static inline void preempt_dynamic_init(void) { }
         |                    ^~~~~~~~~~~~~~~~~~~~
   kernel/sched/core.c:8549:20: note: previous definition of 'preempt_dynamic_init' with type 'void(void)'
    8549 | static void __init preempt_dynamic_init(void)
         |                    ^~~~~~~~~~~~~~~~~~~~
   kernel/sched/core.c:8581:2: error: #endif without #if
    8581 | #endif /* #ifdef CONFIG_PREEMPT_DYNAMIC */
         |  ^~~~~
   kernel/sched/core.c:8549:20: warning: 'preempt_dynamic_init' defined but not used [-Wunused-function]
    8549 | static void __init preempt_dynamic_init(void)
         |                    ^~~~~~~~~~~~~~~~~~~~
   cc1: some warnings being treated as errors


vim +/sched_dynamic_mode +8468 kernel/sched/core.c

4c7485584d48f6 Mark Rutland 2022-02-14  8467  
4c7485584d48f6 Mark Rutland 2022-02-14 @8468  int sched_dynamic_mode(const char *str)
4c7485584d48f6 Mark Rutland 2022-02-14  8469  {
4c7485584d48f6 Mark Rutland 2022-02-14  8470  	if (!strcmp(str, "none"))
4c7485584d48f6 Mark Rutland 2022-02-14  8471  		return preempt_dynamic_none;
4c7485584d48f6 Mark Rutland 2022-02-14  8472  
4c7485584d48f6 Mark Rutland 2022-02-14  8473  	if (!strcmp(str, "voluntary"))
4c7485584d48f6 Mark Rutland 2022-02-14  8474  		return preempt_dynamic_voluntary;
4c7485584d48f6 Mark Rutland 2022-02-14  8475  
4c7485584d48f6 Mark Rutland 2022-02-14  8476  	if (!strcmp(str, "full"))
4c7485584d48f6 Mark Rutland 2022-02-14  8477  		return preempt_dynamic_full;
4c7485584d48f6 Mark Rutland 2022-02-14  8478  
4c7485584d48f6 Mark Rutland 2022-02-14  8479  	return -EINVAL;
4c7485584d48f6 Mark Rutland 2022-02-14  8480  }
4c7485584d48f6 Mark Rutland 2022-02-14  8481  
99cf983cc8bca4 Mark Rutland 2022-02-14  8482  #if defined(CONFIG_HAVE_PREEMPT_DYNAMIC_CALL)
8a69fe0be143b0 Mark Rutland 2022-02-14  8483  #define preempt_dynamic_enable(f)	static_call_update(f, f##_dynamic_enabled)
8a69fe0be143b0 Mark Rutland 2022-02-14  8484  #define preempt_dynamic_disable(f)	static_call_update(f, f##_dynamic_disabled)
99cf983cc8bca4 Mark Rutland 2022-02-14  8485  #elif defined(CONFIG_HAVE_PREEMPT_DYNAMIC_KEY)
99cf983cc8bca4 Mark Rutland 2022-02-14  8486  #define preempt_dynamic_enable(f)	static_key_enable(&sk_dynamic_##f.key)
99cf983cc8bca4 Mark Rutland 2022-02-14  8487  #define preempt_dynamic_disable(f)	static_key_disable(&sk_dynamic_##f.key)
99cf983cc8bca4 Mark Rutland 2022-02-14  8488  #else
99cf983cc8bca4 Mark Rutland 2022-02-14  8489  #error "Unsupported PREEMPT_DYNAMIC mechanism"
99cf983cc8bca4 Mark Rutland 2022-02-14  8490  #endif
8a69fe0be143b0 Mark Rutland 2022-02-14  8491  
4c7485584d48f6 Mark Rutland 2022-02-14 @8492  void sched_dynamic_update(int mode)
4c7485584d48f6 Mark Rutland 2022-02-14  8493  {
4c7485584d48f6 Mark Rutland 2022-02-14  8494  	/*
4c7485584d48f6 Mark Rutland 2022-02-14  8495  	 * Avoid {NONE,VOLUNTARY} -> FULL transitions from ever ending up in
4c7485584d48f6 Mark Rutland 2022-02-14  8496  	 * the ZERO state, which is invalid.
4c7485584d48f6 Mark Rutland 2022-02-14  8497  	 */
8a69fe0be143b0 Mark Rutland 2022-02-14  8498  	preempt_dynamic_enable(cond_resched);
8a69fe0be143b0 Mark Rutland 2022-02-14  8499  	preempt_dynamic_enable(might_resched);
8a69fe0be143b0 Mark Rutland 2022-02-14  8500  	preempt_dynamic_enable(preempt_schedule);
8a69fe0be143b0 Mark Rutland 2022-02-14  8501  	preempt_dynamic_enable(preempt_schedule_notrace);
8a69fe0be143b0 Mark Rutland 2022-02-14  8502  	preempt_dynamic_enable(irqentry_exit_cond_resched);
4c7485584d48f6 Mark Rutland 2022-02-14  8503  
4c7485584d48f6 Mark Rutland 2022-02-14  8504  	switch (mode) {
4c7485584d48f6 Mark Rutland 2022-02-14  8505  	case preempt_dynamic_none:
8a69fe0be143b0 Mark Rutland 2022-02-14  8506  		preempt_dynamic_enable(cond_resched);
8a69fe0be143b0 Mark Rutland 2022-02-14  8507  		preempt_dynamic_disable(might_resched);
8a69fe0be143b0 Mark Rutland 2022-02-14  8508  		preempt_dynamic_disable(preempt_schedule);
8a69fe0be143b0 Mark Rutland 2022-02-14  8509  		preempt_dynamic_disable(preempt_schedule_notrace);
8a69fe0be143b0 Mark Rutland 2022-02-14  8510  		preempt_dynamic_disable(irqentry_exit_cond_resched);
4c7485584d48f6 Mark Rutland 2022-02-14  8511  		pr_info("Dynamic Preempt: none\n");
4c7485584d48f6 Mark Rutland 2022-02-14  8512  		break;
4c7485584d48f6 Mark Rutland 2022-02-14  8513  
4c7485584d48f6 Mark Rutland 2022-02-14  8514  	case preempt_dynamic_voluntary:
8a69fe0be143b0 Mark Rutland 2022-02-14  8515  		preempt_dynamic_enable(cond_resched);
8a69fe0be143b0 Mark Rutland 2022-02-14  8516  		preempt_dynamic_enable(might_resched);
8a69fe0be143b0 Mark Rutland 2022-02-14  8517  		preempt_dynamic_disable(preempt_schedule);
8a69fe0be143b0 Mark Rutland 2022-02-14  8518  		preempt_dynamic_disable(preempt_schedule_notrace);
8a69fe0be143b0 Mark Rutland 2022-02-14  8519  		preempt_dynamic_disable(irqentry_exit_cond_resched);
4c7485584d48f6 Mark Rutland 2022-02-14  8520  		pr_info("Dynamic Preempt: voluntary\n");
4c7485584d48f6 Mark Rutland 2022-02-14  8521  		break;
4c7485584d48f6 Mark Rutland 2022-02-14  8522  
4c7485584d48f6 Mark Rutland 2022-02-14  8523  	case preempt_dynamic_full:
8a69fe0be143b0 Mark Rutland 2022-02-14  8524  		preempt_dynamic_disable(cond_resched);
8a69fe0be143b0 Mark Rutland 2022-02-14  8525  		preempt_dynamic_disable(might_resched);
8a69fe0be143b0 Mark Rutland 2022-02-14  8526  		preempt_dynamic_enable(preempt_schedule);
8a69fe0be143b0 Mark Rutland 2022-02-14  8527  		preempt_dynamic_enable(preempt_schedule_notrace);
8a69fe0be143b0 Mark Rutland 2022-02-14  8528  		preempt_dynamic_enable(irqentry_exit_cond_resched);
4c7485584d48f6 Mark Rutland 2022-02-14  8529  		pr_info("Dynamic Preempt: full\n");
4c7485584d48f6 Mark Rutland 2022-02-14  8530  		break;
4c7485584d48f6 Mark Rutland 2022-02-14  8531  	}
4c7485584d48f6 Mark Rutland 2022-02-14  8532  
4c7485584d48f6 Mark Rutland 2022-02-14  8533  	preempt_dynamic_mode = mode;
4c7485584d48f6 Mark Rutland 2022-02-14  8534  }
4c7485584d48f6 Mark Rutland 2022-02-14  8535  

-- 
0-DAY CI Kernel Test Service
https://01.org/lkp

Powered by blists - more mailing lists

Powered by Openwall GNU/*/Linux Powered by OpenVZ