* Re: [PATCH v4 7/7] sched/fair: Fair server interface
[not found] <db775d65b18ddac4a75faad6761c6c2abf3efb78.1693510979.git.bristot@kernel.org>
@ 2023-09-01 2:01 ` kernel test robot
0 siblings, 0 replies; only message in thread
From: kernel test robot @ 2023-09-01 2:01 UTC (permalink / raw)
To: Daniel Bristot de Oliveira, Ingo Molnar, Peter Zijlstra,
Juri Lelli, Vincent Guittot
Cc: oe-kbuild-all, Dietmar Eggemann, Steven Rostedt, Ben Segall,
Mel Gorman, Daniel Bristot de Oliveira, Valentin Schneider,
linux-kernel, Luca Abeni, Tommaso Cucinotta, Thomas Gleixner,
Joel Fernandes, Vineeth Pillai, Shuah Khan, bristot, Phil Auld
Hi Daniel,
kernel test robot noticed the following build warnings:
[auto build test WARNING on tip/sched/core]
[also build test WARNING on tip/master linus/master next-20230831]
[cannot apply to tip/auto-latest v6.5]
[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#_base_tree_information]
url: https://github.com/intel-lab-lkp/linux/commits/Daniel-Bristot-de-Oliveira/sched-Unify-runtime-accounting-across-classes/20230901-043307
base: tip/sched/core
patch link: https://lore.kernel.org/r/db775d65b18ddac4a75faad6761c6c2abf3efb78.1693510979.git.bristot%40kernel.org
patch subject: [PATCH v4 7/7] sched/fair: Fair server interface
config: m68k-allyesconfig (https://download.01.org/0day-ci/archive/20230901/202309010917.ryl6BbIf-lkp@intel.com/config)
compiler: m68k-linux-gcc (GCC) 13.2.0
reproduce (this is a W=1 build): (https://download.01.org/0day-ci/archive/20230901/202309010917.ryl6BbIf-lkp@intel.com/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@intel.com>
| Closes: https://lore.kernel.org/oe-kbuild-all/202309010917.ryl6BbIf-lkp@intel.com/
All warnings (new ones prefixed by >>):
In file included from kernel/sched/build_utility.c:73:
>> kernel/sched/debug.c:386:56: warning: integer overflow in expression of type 'long int' results in '-100663296' [-Woverflow]
386 | static unsigned int fair_server_period_max = (1 << 22) * NSEC_PER_USEC; /* ~4 seconds */
| ^
>> kernel/sched/debug.c:491:6: warning: no previous prototype for 'debugfs_fair_server_init' [-Wmissing-prototypes]
491 | void debugfs_fair_server_init(void)
| ^~~~~~~~~~~~~~~~~~~~~~~~
vim +386 kernel/sched/debug.c
385
> 386 static unsigned int fair_server_period_max = (1 << 22) * NSEC_PER_USEC; /* ~4 seconds */
387 static unsigned int fair_server_period_min = (100) * NSEC_PER_USEC; /* 100 us */
388
389 static ssize_t
390 sched_fair_server_period_write(struct file *filp, const char __user *ubuf,
391 size_t cnt, loff_t *ppos)
392 {
393 long cpu = (long) ((struct seq_file *) filp->private_data)->private;
394 struct rq *rq = cpu_rq(cpu);
395 unsigned long flags;
396 u64 period;
397 int err;
398
399 err = kstrtoull_from_user(ubuf, cnt, 10, &period);
400 if (err)
401 return err;
402
403 if (period < fair_server_period_min || period > fair_server_period_max)
404 return -EINVAL;
405
406 raw_spin_rq_lock_irqsave(rq, flags);
407 if (period < rq->fair_server.dl_runtime)
408 err = -EINVAL;
409 else
410 rq->fair_server.dl_period = period;
411 raw_spin_rq_unlock_irqrestore(rq, flags);
412
413 if (err)
414 return err;
415
416 *ppos += cnt;
417 return cnt;
418 }
419
420 static int sched_fair_server_period_show(struct seq_file *m, void *v)
421 {
422 unsigned long cpu = (unsigned long) m->private;
423 struct rq *rq = cpu_rq(cpu);
424
425 seq_printf(m, "%llu\n", rq->fair_server.dl_period);
426 return 0;
427 }
428
429 static int sched_fair_server_period_open(struct inode *inode, struct file *filp)
430 {
431 return single_open(filp, sched_fair_server_period_show, inode->i_private);
432 }
433
434 static const struct file_operations fair_server_period_fops = {
435 .open = sched_fair_server_period_open,
436 .write = sched_fair_server_period_write,
437 .read = seq_read,
438 .llseek = seq_lseek,
439 .release = single_release,
440 };
441
442 static ssize_t
443 sched_fair_server_defer_write(struct file *filp, const char __user *ubuf,
444 size_t cnt, loff_t *ppos)
445 {
446 long cpu = (long) ((struct seq_file *) filp->private_data)->private;
447 struct rq *rq = cpu_rq(cpu);
448 unsigned long flags;
449 u64 defer;
450 int err;
451
452 err = kstrtoull_from_user(ubuf, cnt, 10, &defer);
453 if (err)
454 return err;
455
456 if (defer < 0 || defer > 1)
457 return -EINVAL;
458
459 raw_spin_rq_lock_irqsave(rq, flags);
460 rq->fair_server_defer = defer;
461 raw_spin_rq_unlock_irqrestore(rq, flags);
462
463 *ppos += cnt;
464 return cnt;
465 }
466
467 static int sched_fair_server_defer_show(struct seq_file *m, void *v)
468 {
469 unsigned long cpu = (unsigned long) m->private;
470 struct rq *rq = cpu_rq(cpu);
471
472 seq_printf(m, "%d\n", rq->fair_server_defer);
473 return 0;
474 }
475
476 static int sched_fair_server_defer_open(struct inode *inode, struct file *filp)
477 {
478 return single_open(filp, sched_fair_server_defer_show, inode->i_private);
479 }
480
481 static const struct file_operations fair_server_defer_fops = {
482 .open = sched_fair_server_defer_open,
483 .write = sched_fair_server_defer_write,
484 .read = seq_read,
485 .llseek = seq_lseek,
486 .release = single_release,
487 };
488
489 static struct dentry *debugfs_sched;
490
> 491 void debugfs_fair_server_init(void)
492 {
493 long cpu;
494 struct dentry *rq_dentry;
495
496 rq_dentry = debugfs_create_dir("rq", debugfs_sched);
497 if (!rq_dentry)
498 return;
499
500 for_each_possible_cpu(cpu) {
501 struct dentry *d_cpu;
502 char buf[32];
503
504 snprintf(buf, sizeof(buf), "cpu%ld", cpu);
505 d_cpu = debugfs_create_dir(buf, rq_dentry);
506
507 debugfs_create_file("fair_server_runtime", 0644, d_cpu, (void *) cpu, &fair_server_runtime_fops);
508 debugfs_create_file("fair_server_period", 0644, d_cpu, (void *) cpu, &fair_server_period_fops);
509 debugfs_create_file("fair_server_defer", 0644, d_cpu, (void *) cpu, &fair_server_defer_fops);
510 }
511 }
512
--
0-DAY CI Kernel Test Service
https://github.com/intel/lkp-tests/wiki
^ permalink raw reply [flat|nested] only message in thread
only message in thread, other threads:[~2023-09-01 2:01 UTC | newest]
Thread overview: (only message) (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
[not found] <db775d65b18ddac4a75faad6761c6c2abf3efb78.1693510979.git.bristot@kernel.org>
2023-09-01 2:01 ` [PATCH v4 7/7] sched/fair: Fair server interface kernel test robot
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.