Re: [PATCH printk v3 07/19] printk: Add helpers for flush type logic

From: kernel test robot
Date: Mon Jul 22 2024 - 22:02:19 EST


Hi John,

kernel test robot noticed the following build errors:

[auto build test ERROR on b18703ea7157f62f02eb0ceb11f6fa0138e90adc]

url: https://github.com/intel-lab-lkp/linux/commits/John-Ogness/printk-nbcon-Clarify-nbcon_get_default_prio-context/20240723-015154
base: b18703ea7157f62f02eb0ceb11f6fa0138e90adc
patch link: https://lore.kernel.org/r/20240722171939.3349410-8-john.ogness%40linutronix.de
patch subject: [PATCH printk v3 07/19] printk: Add helpers for flush type logic
config: x86_64-buildonly-randconfig-002-20240723 (https://download.01.org/0day-ci/archive/20240723/202407230936.FqviIH1q-lkp@xxxxxxxxx/config)
compiler: gcc-10 (Ubuntu 10.5.0-1ubuntu1) 10.5.0
reproduce (this is a W=1 build): (https://download.01.org/0day-ci/archive/20240723/202407230936.FqviIH1q-lkp@xxxxxxxxx/reproduce)

If you fix the issue in a separate patch/commit (i.e. not just a new version of
the same patch/commit), kindly add following tags
| Reported-by: kernel test robot <lkp@xxxxxxxxx>
| Closes: https://lore.kernel.org/oe-kbuild-all/202407230936.FqviIH1q-lkp@xxxxxxxxx/

All errors (new ones prefixed by >>):

In file included from kernel/printk/printk.c:61:
kernel/printk/internal.h: In function 'printk_get_console_flush_type':
>> kernel/printk/internal.h:188:26: error: implicit declaration of function 'is_printk_deferred'; did you mean '_printk_deferred'? [-Werror=implicit-function-declaration]
188 | if (prefer_offload || is_printk_deferred())
| ^~~~~~~~~~~~~~~~~~
| _printk_deferred
cc1: some warnings being treated as errors


vim +188 kernel/printk/internal.h

172
173 /*
174 * Decide while console flushing methods are to be used. Used
175 * for all flushing except when flushing from emergency state.
176 *
177 * Set @prefer_offload to true if the context is only interested in
178 * offloading. Then offloading types will be set instead of direct,
179 * if appropriate.
180 */
181 static inline void printk_get_console_flush_type(struct console_flush_type *ft, bool prefer_offload)
182 {
183 memset(ft, 0, sizeof(*ft));
184
185 switch (nbcon_get_default_prio()) {
186 case NBCON_PRIO_NORMAL:
187 if (have_legacy_console || have_boot_console) {
> 188 if (prefer_offload || is_printk_deferred())
189 ft->legacy_offload = true;
190 else
191 ft->legacy_direct = true;
192 }
193
194 if (have_nbcon_console && !have_boot_console)
195 ft->nbcon_atomic = true;
196 break;
197
198 case NBCON_PRIO_EMERGENCY:
199 /*
200 * Skip. The consoles will be flushed when exiting emergency
201 * state. See printk_get_emergency_console_flush_type().
202 */
203 break;
204
205 case NBCON_PRIO_PANIC:
206 if (have_nbcon_console && !have_boot_console)
207 ft->nbcon_atomic = true;
208
209 /*
210 * In panic, if nbcon atomic printing occurs, the legacy
211 * consoles must remain silent until explicitly allowed.
212 */
213 if (legacy_allow_panic_sync || !ft->nbcon_atomic)
214 ft->legacy_direct = true;
215 break;
216
217 default:
218 WARN_ON_ONCE(1);
219 break;
220 }
221 }
222

--
0-DAY CI Kernel Test Service
https://github.com/intel/lkp-tests/wiki