* [mmotm:master 126/128] kernel/synchro-test.c:512:2: error: implicit declaration of function 'init_timer'; did you mean 'init_timers'?
@ 2017-11-29 13:52 kbuild test robot
0 siblings, 0 replies; only message in thread
From: kbuild test robot @ 2017-11-29 13:52 UTC (permalink / raw)
To: David Howells
Cc: kbuild-all, Johannes Weiner, Ingo Molnar, Adrian Bunk,
Randy Dunlap, Michel Lespinasse, Andrew Morton,
Linux Memory Management List
[-- Attachment #1: Type: text/plain, Size: 6183 bytes --]
tree: git://git.cmpxchg.org/linux-mmotm.git master
head: 6d150629f934eb5e894b5eb3a56ba47328f56798
commit: 1b560efe80bfe6a5862b8219fd9294694d2aed10 [126/128] mutex subsystem, synchro-test module
config: x86_64-allmodconfig (attached as .config)
compiler: gcc-7 (Debian 7.2.0-12) 7.2.1 20171025
reproduce:
git checkout 1b560efe80bfe6a5862b8219fd9294694d2aed10
# save the attached .config to linux build tree
make ARCH=x86_64
All errors (new ones prefixed by >>):
kernel/synchro-test.c: In function 'do_tests':
>> kernel/synchro-test.c:512:2: error: implicit declaration of function 'init_timer'; did you mean 'init_timers'? [-Werror=implicit-function-declaration]
init_timer(&timer);
^~~~~~~~~~
init_timers
>> kernel/synchro-test.c:513:17: error: assignment from incompatible pointer type [-Werror=incompatible-pointer-types]
timer.function = stop_test;
^
cc1: some warnings being treated as errors
vim +512 kernel/synchro-test.c
429
430 /*****************************************************************************/
431 /*
432 *
433 */
434 static int __init do_tests(void)
435 {
436 unsigned long loop;
437 unsigned int spinlock_total, mutex_total, sem_total;
438 unsigned int rd_total, wr_total, dg_total;
439
440 if (numsp < 0 || numsp > MAX_THREADS ||
441 nummx < 0 || nummx > MAX_THREADS ||
442 numsm < 0 || numsm > MAX_THREADS ||
443 numrd < 0 || numrd > MAX_THREADS ||
444 numwr < 0 || numwr > MAX_THREADS ||
445 numdg < 0 || numdg > MAX_THREADS ||
446 seminit < 1 ||
447 elapse < 1 ||
448 load < 0 || load > 999 ||
449 interval < 0 || interval > 999
450 ) {
451 printk("Parameter out of range\n");
452 return -ERANGE;
453 }
454
455 if ((numsp | nummx | numsm | numrd | numwr | numdg) == 0) {
456 int num = num_online_cpus();
457
458 if (num > MAX_THREADS)
459 num = MAX_THREADS;
460 numsp = nummx = numsm = numrd = numwr = numdg = num;
461
462 load = 1;
463 interval = 1;
464 do_sched = 1;
465 printk("No parameters - using defaults.\n");
466 }
467
468 if (verbose)
469 printk("\nStarting synchronisation primitive tests...\n");
470
471 spin_lock_init(&spinlock);
472 mutex_init(&mutex);
473 sema_init(&sem, seminit);
474 init_rwsem(&rwsem);
475 atomic_set(&do_stuff, 1);
476
477 /* kick off all the children */
478 for (loop = 0; loop < MAX_THREADS; loop++) {
479 if (loop < numsp) {
480 init_completion(&sp_comp[loop]);
481 kthread_run(spinlocker, (void *) loop,
482 "Spinlock%lu", loop);
483 }
484
485 if (loop < nummx) {
486 init_completion(&mx_comp[loop]);
487 kthread_run(mutexer, (void *) loop, "Mutex%lu", loop);
488 }
489
490 if (loop < numsm) {
491 init_completion(&sm_comp[loop]);
492 kthread_run(semaphorer, (void *) loop, "Sem%lu", loop);
493 }
494
495 if (loop < numrd) {
496 init_completion(&rd_comp[loop]);
497 kthread_run(reader, (void *) loop, "Read%lu", loop);
498 }
499
500 if (loop < numwr) {
501 init_completion(&wr_comp[loop]);
502 kthread_run(writer, (void *) loop, "Write%lu", loop);
503 }
504
505 if (loop < numdg) {
506 init_completion(&dg_comp[loop]);
507 kthread_run(downgrader, (void *) loop, "Down%lu", loop);
508 }
509 }
510
511 /* set a stop timer */
> 512 init_timer(&timer);
> 513 timer.function = stop_test;
514 timer.expires = jiffies + elapse * HZ;
515 add_timer(&timer);
516
517 /* now wait until it's all done */
518 for (loop = 0; loop < numsp; loop++)
519 wait_for_completion(&sp_comp[loop]);
520
521 for (loop = 0; loop < nummx; loop++)
522 wait_for_completion(&mx_comp[loop]);
523
524 for (loop = 0; loop < numsm; loop++)
525 wait_for_completion(&sm_comp[loop]);
526
527 for (loop = 0; loop < numrd; loop++)
528 wait_for_completion(&rd_comp[loop]);
529
530 for (loop = 0; loop < numwr; loop++)
531 wait_for_completion(&wr_comp[loop]);
532
533 for (loop = 0; loop < numdg; loop++)
534 wait_for_completion(&dg_comp[loop]);
535
536 atomic_set(&do_stuff, 0);
537 del_timer(&timer);
538
539 if (spin_is_locked(&spinlock))
540 printk(KERN_ERR "Spinlock is still locked!\n");
541
542 if (mutex_is_locked(&mutex))
543 printk(KERN_ERR "Mutex is still locked!\n");
544
545 /* count up */
546 spinlock_total = total("SP ", spinlocks_taken, numsp);
547 mutex_total = total("MTX", mutexes_taken, nummx);
548 sem_total = total("SEM", semaphores_taken, numsm);
549 rd_total = total("RD ", reads_taken, numrd);
550 wr_total = total("WR ", writes_taken, numwr);
551 dg_total = total("DG ", downgrades_taken, numdg);
552
553 /* print the results */
554 if (verbose) {
555 printk("spinlocks taken: %u\n", spinlock_total);
556 printk("mutexes taken: %u\n", mutex_total);
557 printk("semaphores taken: %u\n", sem_total);
558 printk("reads taken: %u\n", rd_total);
559 printk("writes taken: %u\n", wr_total);
560 printk("downgrades taken: %u\n", dg_total);
561 }
562 else {
563 char buf[30];
564
565 sprintf(buf, "%d/%d", interval, load);
566
567 printk("%3d %3d %3d %3d %3d %3d %c %5s %9u %9u %9u %9u %9u %9u\n",
568 numsp, nummx, numsm, numrd, numwr, numdg,
569 do_sched ? 's' : '-',
570 buf,
571 spinlock_total,
572 mutex_total,
573 sem_total,
574 rd_total,
575 wr_total,
576 dg_total);
577 }
578
579 /* tell insmod to discard the module */
580 if (verbose)
581 printk("Tests complete\n");
582 return -ENOANO;
583
---
0-DAY kernel test infrastructure Open Source Technology Center
https://lists.01.org/pipermail/kbuild-all Intel Corporation
[-- Attachment #2: .config.gz --]
[-- Type: application/gzip, Size: 62455 bytes --]
^ permalink raw reply [flat|nested] only message in thread
only message in thread, other threads:[~2017-11-29 13:54 UTC | newest]
Thread overview: (only message) (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2017-11-29 13:52 [mmotm:master 126/128] kernel/synchro-test.c:512:2: error: implicit declaration of function 'init_timer'; did you mean 'init_timers'? kbuild test robot
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).