* [ammarfaizi2-block:paulmck/linux-rcu/dev.2022.02.01a 77/103] kernel/rcu/srcutree.c:424:5: error: 'struct srcu_struct' has no member named 'srcu_size_state'
@ 2022-02-03 3:00 kernel test robot
2022-02-03 22:14 ` Paul E. McKenney
0 siblings, 1 reply; 2+ messages in thread
From: kernel test robot @ 2022-02-03 3:00 UTC (permalink / raw)
To: Paul E. McKenney; +Cc: kbuild-all, GNU/Weeb Mailing List, linux-kernel
tree: https://github.com/ammarfaizi2/linux-block paulmck/linux-rcu/dev.2022.02.01a
head: 5721fe42e5e76b24e5a37c4fb5a4807cd4eb925d
commit: efbdb910e14b15835266c55ad4d891dde0792aed [77/103] srcu: Dynamically allocate srcu_node array
config: i386-randconfig-a004-20211220 (https://download.01.org/0day-ci/archive/20220203/[email protected]/config)
compiler: gcc-9 (Debian 9.3.0-22) 9.3.0
reproduce (this is a W=1 build):
# https://github.com/ammarfaizi2/linux-block/commit/efbdb910e14b15835266c55ad4d891dde0792aed
git remote add ammarfaizi2-block https://github.com/ammarfaizi2/linux-block
git fetch --no-tags ammarfaizi2-block paulmck/linux-rcu/dev.2022.02.01a
git checkout efbdb910e14b15835266c55ad4d891dde0792aed
# save the config file to linux build tree
mkdir build_dir
make W=1 O=build_dir ARCH=i386 SHELL=/bin/bash
If you fix the issue, kindly add following tag as appropriate
Reported-by: kernel test robot <[email protected]>
Note: the ammarfaizi2-block/paulmck/linux-rcu/dev.2022.02.01a HEAD 5721fe42e5e76b24e5a37c4fb5a4807cd4eb925d builds fine.
It only hurts bisectability.
All errors (new ones prefixed by >>):
kernel/rcu/srcutree.c: In function 'cleanup_srcu_struct':
>> kernel/rcu/srcutree.c:424:5: error: 'struct srcu_struct' has no member named 'srcu_size_state'
424 | ssp->srcu_size_state = SRCU_SIZE_SMALL;
| ^~
>> kernel/rcu/srcutree.c:424:25: error: 'SRCU_SIZE_SMALL' undeclared (first use in this function)
424 | ssp->srcu_size_state = SRCU_SIZE_SMALL;
| ^~~~~~~~~~~~~~~
kernel/rcu/srcutree.c:424:25: note: each undeclared identifier is reported only once for each function it appears in
vim +424 kernel/rcu/srcutree.c
387
388 /**
389 * cleanup_srcu_struct - deconstruct a sleep-RCU structure
390 * @ssp: structure to clean up.
391 *
392 * Must invoke this after you are finished using a given srcu_struct that
393 * was initialized via init_srcu_struct(), else you leak memory.
394 */
395 void cleanup_srcu_struct(struct srcu_struct *ssp)
396 {
397 int cpu;
398
399 if (WARN_ON(!srcu_get_delay(ssp)))
400 return; /* Just leak it! */
401 if (WARN_ON(srcu_readers_active(ssp)))
402 return; /* Just leak it! */
403 flush_delayed_work(&ssp->work);
404 for_each_possible_cpu(cpu) {
405 struct srcu_data *sdp = per_cpu_ptr(ssp->sda, cpu);
406
407 del_timer_sync(&sdp->delay_work);
408 flush_work(&sdp->work);
409 if (WARN_ON(rcu_segcblist_n_cbs(&sdp->srcu_cblist)))
410 return; /* Forgot srcu_barrier(), so just leak it! */
411 }
412 if (WARN_ON(rcu_seq_state(READ_ONCE(ssp->srcu_gp_seq)) != SRCU_STATE_IDLE) ||
413 WARN_ON(rcu_seq_current(&ssp->srcu_gp_seq) != ssp->srcu_gp_seq_needed) ||
414 WARN_ON(srcu_readers_active(ssp))) {
415 pr_info("%s: Active srcu_struct %p read state: %d gp state: %lu/%lu\n",
416 __func__, ssp, rcu_seq_state(READ_ONCE(ssp->srcu_gp_seq)),
417 rcu_seq_current(&ssp->srcu_gp_seq), ssp->srcu_gp_seq_needed);
418 return; /* Caller forgot to stop doing call_srcu()? */
419 }
420 free_percpu(ssp->sda);
421 ssp->sda = NULL;
422 kfree(ssp->node);
423 ssp->node = NULL;
> 424 ssp->srcu_size_state = SRCU_SIZE_SMALL;
425 }
426 EXPORT_SYMBOL_GPL(cleanup_srcu_struct);
427
---
0-DAY CI Kernel Test Service, Intel Corporation
https://lists.01.org/hyperkitty/list/[email protected]
^ permalink raw reply [flat|nested] 2+ messages in thread
* Re: [ammarfaizi2-block:paulmck/linux-rcu/dev.2022.02.01a 77/103] kernel/rcu/srcutree.c:424:5: error: 'struct srcu_struct' has no member named 'srcu_size_state'
2022-02-03 3:00 [ammarfaizi2-block:paulmck/linux-rcu/dev.2022.02.01a 77/103] kernel/rcu/srcutree.c:424:5: error: 'struct srcu_struct' has no member named 'srcu_size_state' kernel test robot
@ 2022-02-03 22:14 ` Paul E. McKenney
0 siblings, 0 replies; 2+ messages in thread
From: Paul E. McKenney @ 2022-02-03 22:14 UTC (permalink / raw)
To: kernel test robot; +Cc: kbuild-all, GNU/Weeb Mailing List, linux-kernel
On Thu, Feb 03, 2022 at 11:00:18AM +0800, kernel test robot wrote:
> tree: https://github.com/ammarfaizi2/linux-block paulmck/linux-rcu/dev.2022.02.01a
> head: 5721fe42e5e76b24e5a37c4fb5a4807cd4eb925d
> commit: efbdb910e14b15835266c55ad4d891dde0792aed [77/103] srcu: Dynamically allocate srcu_node array
> config: i386-randconfig-a004-20211220 (https://download.01.org/0day-ci/archive/20220203/[email protected]/config)
> compiler: gcc-9 (Debian 9.3.0-22) 9.3.0
> reproduce (this is a W=1 build):
> # https://github.com/ammarfaizi2/linux-block/commit/efbdb910e14b15835266c55ad4d891dde0792aed
> git remote add ammarfaizi2-block https://github.com/ammarfaizi2/linux-block
> git fetch --no-tags ammarfaizi2-block paulmck/linux-rcu/dev.2022.02.01a
> git checkout efbdb910e14b15835266c55ad4d891dde0792aed
> # save the config file to linux build tree
> mkdir build_dir
> make W=1 O=build_dir ARCH=i386 SHELL=/bin/bash
>
> If you fix the issue, kindly add following tag as appropriate
> Reported-by: kernel test robot <[email protected]>
>
> Note: the ammarfaizi2-block/paulmck/linux-rcu/dev.2022.02.01a HEAD 5721fe42e5e76b24e5a37c4fb5a4807cd4eb925d builds fine.
> It only hurts bisectability.
>
> All errors (new ones prefixed by >>):
>
> kernel/rcu/srcutree.c: In function 'cleanup_srcu_struct':
> >> kernel/rcu/srcutree.c:424:5: error: 'struct srcu_struct' has no member named 'srcu_size_state'
> 424 | ssp->srcu_size_state = SRCU_SIZE_SMALL;
> | ^~
> >> kernel/rcu/srcutree.c:424:25: error: 'SRCU_SIZE_SMALL' undeclared (first use in this function)
> 424 | ssp->srcu_size_state = SRCU_SIZE_SMALL;
> | ^~~~~~~~~~~~~~~
> kernel/rcu/srcutree.c:424:25: note: each undeclared identifier is reported only once for each function it appears in
Good catch!
Folded the fix into the commit with attribution, thank you!
Thanx, Paul
> vim +424 kernel/rcu/srcutree.c
>
> 387
> 388 /**
> 389 * cleanup_srcu_struct - deconstruct a sleep-RCU structure
> 390 * @ssp: structure to clean up.
> 391 *
> 392 * Must invoke this after you are finished using a given srcu_struct that
> 393 * was initialized via init_srcu_struct(), else you leak memory.
> 394 */
> 395 void cleanup_srcu_struct(struct srcu_struct *ssp)
> 396 {
> 397 int cpu;
> 398
> 399 if (WARN_ON(!srcu_get_delay(ssp)))
> 400 return; /* Just leak it! */
> 401 if (WARN_ON(srcu_readers_active(ssp)))
> 402 return; /* Just leak it! */
> 403 flush_delayed_work(&ssp->work);
> 404 for_each_possible_cpu(cpu) {
> 405 struct srcu_data *sdp = per_cpu_ptr(ssp->sda, cpu);
> 406
> 407 del_timer_sync(&sdp->delay_work);
> 408 flush_work(&sdp->work);
> 409 if (WARN_ON(rcu_segcblist_n_cbs(&sdp->srcu_cblist)))
> 410 return; /* Forgot srcu_barrier(), so just leak it! */
> 411 }
> 412 if (WARN_ON(rcu_seq_state(READ_ONCE(ssp->srcu_gp_seq)) != SRCU_STATE_IDLE) ||
> 413 WARN_ON(rcu_seq_current(&ssp->srcu_gp_seq) != ssp->srcu_gp_seq_needed) ||
> 414 WARN_ON(srcu_readers_active(ssp))) {
> 415 pr_info("%s: Active srcu_struct %p read state: %d gp state: %lu/%lu\n",
> 416 __func__, ssp, rcu_seq_state(READ_ONCE(ssp->srcu_gp_seq)),
> 417 rcu_seq_current(&ssp->srcu_gp_seq), ssp->srcu_gp_seq_needed);
> 418 return; /* Caller forgot to stop doing call_srcu()? */
> 419 }
> 420 free_percpu(ssp->sda);
> 421 ssp->sda = NULL;
> 422 kfree(ssp->node);
> 423 ssp->node = NULL;
> > 424 ssp->srcu_size_state = SRCU_SIZE_SMALL;
> 425 }
> 426 EXPORT_SYMBOL_GPL(cleanup_srcu_struct);
> 427
>
> ---
> 0-DAY CI Kernel Test Service, Intel Corporation
> https://lists.01.org/hyperkitty/list/[email protected]
^ permalink raw reply [flat|nested] 2+ messages in thread
end of thread, other threads:[~2022-02-03 22:14 UTC | newest]
Thread overview: 2+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2022-02-03 3:00 [ammarfaizi2-block:paulmck/linux-rcu/dev.2022.02.01a 77/103] kernel/rcu/srcutree.c:424:5: error: 'struct srcu_struct' has no member named 'srcu_size_state' kernel test robot
2022-02-03 22:14 ` Paul E. McKenney
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox