Lines Matching +full:se +full:- +full:neg
1 // SPDX-License-Identifier: GPL-2.0-only
29 nsec = -nsec; in nsec_high()
31 return -nsec; in nsec_high()
41 nsec = -nsec; in nsec_low()
102 int neg = 0; in sched_feat_set() local
105 neg = 1; in sched_feat_set()
113 if (neg) { in sched_feat_set()
137 return -EFAULT; in sched_feat_write()
223 for (entry = *tablep; entry->mode; entry++) { in sd_free_ctl_entry()
224 if (entry->child) in sd_free_ctl_entry()
225 sd_free_ctl_entry(&entry->child); in sd_free_ctl_entry()
226 if (entry->proc_handler == NULL) in sd_free_ctl_entry()
227 kfree(entry->procname); in sd_free_ctl_entry()
239 entry->procname = procname; in set_table_entry()
240 entry->data = data; in set_table_entry()
241 entry->maxlen = maxlen; in set_table_entry()
242 entry->mode = mode; in set_table_entry()
243 entry->proc_handler = proc_handler; in set_table_entry()
249 unsigned long flags = *(unsigned long *)table->data; in sd_ctl_doflags()
272 return -ENOMEM; in sd_ctl_doflags()
281 len -= *ppos; in sd_ctl_doflags()
308 …set_table_entry(&table[0], "min_interval", &sd->min_interval, sizeof(long), 0644, proc_doulo… in sd_alloc_ctl_domain_table()
309 …set_table_entry(&table[1], "max_interval", &sd->max_interval, sizeof(long), 0644, proc_doulo… in sd_alloc_ctl_domain_table()
310 …set_table_entry(&table[2], "busy_factor", &sd->busy_factor, sizeof(int), 0644, proc_dointve… in sd_alloc_ctl_domain_table()
311 …set_table_entry(&table[3], "imbalance_pct", &sd->imbalance_pct, sizeof(int), 0644, proc_doi… in sd_alloc_ctl_domain_table()
312 …set_table_entry(&table[4], "cache_nice_tries", &sd->cache_nice_tries, sizeof(int), 0644, pro… in sd_alloc_ctl_domain_table()
313 set_table_entry(&table[5], "flags", &sd->flags, sizeof(int), 0444, sd_ctl_doflags); in sd_alloc_ctl_domain_table()
314 …set_table_entry(&table[6], "max_newidle_lb_cost", &sd->max_newidle_lb_cost, sizeof(long), 0644, pr… in sd_alloc_ctl_domain_table()
315 set_table_entry(&table[7], "name", sd->name, CORENAME_MAX_SIZE, 0444, proc_dostring); in sd_alloc_ctl_domain_table()
337 entry->procname = kstrdup(buf, GFP_KERNEL); in sd_alloc_ctl_cpu_table()
338 entry->mode = 0555; in sd_alloc_ctl_cpu_table()
339 entry->child = sd_alloc_ctl_domain_table(sd); in sd_alloc_ctl_cpu_table()
394 if (e->child) in register_sched_domain_sysctl()
395 sd_free_ctl_entry(&e->child); in register_sched_domain_sysctl()
397 if (!e->procname) { in register_sched_domain_sysctl()
399 e->procname = kstrdup(buf, GFP_KERNEL); in register_sched_domain_sysctl()
401 e->mode = 0555; in register_sched_domain_sysctl()
402 e->child = sd_alloc_ctl_cpu_table(i); in register_sched_domain_sysctl()
429 struct sched_entity *se = tg->se[cpu]; in print_cfs_group_stats() local
431 #define P(F) SEQ_printf(m, " .%-30s: %lld\n", #F, (long long)F) in print_cfs_group_stats()
432 #define P_SCHEDSTAT(F) SEQ_printf(m, " .%-30s: %lld\n", #F, (long long)schedstat_val(F)) in print_cfs_group_stats()
433 #define PN(F) SEQ_printf(m, " .%-30s: %lld.%06ld\n", #F, SPLIT_NS((long long)F)) in print_cfs_group_stats()
434 #define PN_SCHEDSTAT(F) SEQ_printf(m, " .%-30s: %lld.%06ld\n", #F, SPLIT_NS((long long)schedstat_v… in print_cfs_group_stats()
436 if (!se) in print_cfs_group_stats()
439 PN(se->exec_start); in print_cfs_group_stats()
440 PN(se->vruntime); in print_cfs_group_stats()
441 PN(se->sum_exec_runtime); in print_cfs_group_stats()
444 PN_SCHEDSTAT(se->statistics.wait_start); in print_cfs_group_stats()
445 PN_SCHEDSTAT(se->statistics.sleep_start); in print_cfs_group_stats()
446 PN_SCHEDSTAT(se->statistics.block_start); in print_cfs_group_stats()
447 PN_SCHEDSTAT(se->statistics.sleep_max); in print_cfs_group_stats()
448 PN_SCHEDSTAT(se->statistics.block_max); in print_cfs_group_stats()
449 PN_SCHEDSTAT(se->statistics.exec_max); in print_cfs_group_stats()
450 PN_SCHEDSTAT(se->statistics.slice_max); in print_cfs_group_stats()
451 PN_SCHEDSTAT(se->statistics.wait_max); in print_cfs_group_stats()
452 PN_SCHEDSTAT(se->statistics.wait_sum); in print_cfs_group_stats()
453 P_SCHEDSTAT(se->statistics.wait_count); in print_cfs_group_stats()
456 P(se->load.weight); in print_cfs_group_stats()
458 P(se->avg.load_avg); in print_cfs_group_stats()
459 P(se->avg.util_avg); in print_cfs_group_stats()
460 P(se->avg.runnable_avg); in print_cfs_group_stats()
479 cgroup_path(tg->css.cgroup, path, plen); in task_group_path()
497 char *bufend = buf + sizeof(buf) - 3; \
498 task_group_path(tg, buf, bufend - buf); \
499 strcpy(bufend - 1, "..."); \
508 if (rq->curr == p) in print_task()
514 p->comm, task_pid_nr(p), in print_task()
515 SPLIT_NS(p->se.vruntime), in print_task()
516 (long long)(p->nvcsw + p->nivcsw), in print_task()
517 p->prio); in print_task()
520 SPLIT_NS(schedstat_val_or_zero(p->se.statistics.wait_sum)), in print_task()
521 SPLIT_NS(p->se.sum_exec_runtime), in print_task()
522 SPLIT_NS(schedstat_val_or_zero(p->se.statistics.sum_sleep_runtime))); in print_task()
540 SEQ_printf(m, " S task PID tree-key switches prio" in print_rq()
541 " wait-time sum-exec sum-sleep\n"); in print_rq()
542 SEQ_printf(m, "-------------------------------------------------------" in print_rq()
543 "------------------------------------------------------\n"); in print_rq()
557 s64 MIN_vruntime = -1, min_vruntime, max_vruntime = -1, in print_cfs_rq()
565 SEQ_printf_task_group_path(m, cfs_rq->tg, "cfs_rq[%d]:%s\n", cpu); in print_cfs_rq()
570 SEQ_printf(m, " .%-30s: %Ld.%06ld\n", "exec_clock", in print_cfs_rq()
571 SPLIT_NS(cfs_rq->exec_clock)); in print_cfs_rq()
573 raw_spin_lock_irqsave(&rq->lock, flags); in print_cfs_rq()
574 if (rb_first_cached(&cfs_rq->tasks_timeline)) in print_cfs_rq()
575 MIN_vruntime = (__pick_first_entity(cfs_rq))->vruntime; in print_cfs_rq()
578 max_vruntime = last->vruntime; in print_cfs_rq()
579 min_vruntime = cfs_rq->min_vruntime; in print_cfs_rq()
580 rq0_min_vruntime = cpu_rq(0)->cfs.min_vruntime; in print_cfs_rq()
581 raw_spin_unlock_irqrestore(&rq->lock, flags); in print_cfs_rq()
582 SEQ_printf(m, " .%-30s: %Ld.%06ld\n", "MIN_vruntime", in print_cfs_rq()
584 SEQ_printf(m, " .%-30s: %Ld.%06ld\n", "min_vruntime", in print_cfs_rq()
586 SEQ_printf(m, " .%-30s: %Ld.%06ld\n", "max_vruntime", in print_cfs_rq()
588 spread = max_vruntime - MIN_vruntime; in print_cfs_rq()
589 SEQ_printf(m, " .%-30s: %Ld.%06ld\n", "spread", in print_cfs_rq()
591 spread0 = min_vruntime - rq0_min_vruntime; in print_cfs_rq()
592 SEQ_printf(m, " .%-30s: %Ld.%06ld\n", "spread0", in print_cfs_rq()
594 SEQ_printf(m, " .%-30s: %d\n", "nr_spread_over", in print_cfs_rq()
595 cfs_rq->nr_spread_over); in print_cfs_rq()
596 SEQ_printf(m, " .%-30s: %d\n", "nr_running", cfs_rq->nr_running); in print_cfs_rq()
597 SEQ_printf(m, " .%-30s: %ld\n", "load", cfs_rq->load.weight); in print_cfs_rq()
599 SEQ_printf(m, " .%-30s: %lu\n", "load_avg", in print_cfs_rq()
600 cfs_rq->avg.load_avg); in print_cfs_rq()
601 SEQ_printf(m, " .%-30s: %lu\n", "runnable_avg", in print_cfs_rq()
602 cfs_rq->avg.runnable_avg); in print_cfs_rq()
603 SEQ_printf(m, " .%-30s: %lu\n", "util_avg", in print_cfs_rq()
604 cfs_rq->avg.util_avg); in print_cfs_rq()
605 SEQ_printf(m, " .%-30s: %u\n", "util_est_enqueued", in print_cfs_rq()
606 cfs_rq->avg.util_est.enqueued); in print_cfs_rq()
607 SEQ_printf(m, " .%-30s: %ld\n", "removed.load_avg", in print_cfs_rq()
608 cfs_rq->removed.load_avg); in print_cfs_rq()
609 SEQ_printf(m, " .%-30s: %ld\n", "removed.util_avg", in print_cfs_rq()
610 cfs_rq->removed.util_avg); in print_cfs_rq()
611 SEQ_printf(m, " .%-30s: %ld\n", "removed.runnable_avg", in print_cfs_rq()
612 cfs_rq->removed.runnable_avg); in print_cfs_rq()
614 SEQ_printf(m, " .%-30s: %lu\n", "tg_load_avg_contrib", in print_cfs_rq()
615 cfs_rq->tg_load_avg_contrib); in print_cfs_rq()
616 SEQ_printf(m, " .%-30s: %ld\n", "tg_load_avg", in print_cfs_rq()
617 atomic_long_read(&cfs_rq->tg->load_avg)); in print_cfs_rq()
621 SEQ_printf(m, " .%-30s: %d\n", "throttled", in print_cfs_rq()
622 cfs_rq->throttled); in print_cfs_rq()
623 SEQ_printf(m, " .%-30s: %d\n", "throttle_count", in print_cfs_rq()
624 cfs_rq->throttle_count); in print_cfs_rq()
628 print_cfs_group_stats(m, cpu, cfs_rq->tg); in print_cfs_rq()
636 SEQ_printf_task_group_path(m, rt_rq->tg, "rt_rq[%d]:%s\n", cpu); in print_rt_rq()
643 SEQ_printf(m, " .%-30s: %Ld\n", #x, (long long)(rt_rq->x)) in print_rt_rq()
645 SEQ_printf(m, " .%-30s: %lu\n", #x, (unsigned long)(rt_rq->x)) in print_rt_rq()
647 SEQ_printf(m, " .%-30s: %Ld.%06ld\n", #x, SPLIT_NS(rt_rq->x)) in print_rt_rq()
670 SEQ_printf(m, " .%-30s: %lu\n", #x, (unsigned long)(dl_rq->x)) in print_dl_rq()
675 dl_bw = &cpu_rq(cpu)->rd->dl_bw; in print_dl_rq()
677 dl_bw = &dl_rq->dl_bw; in print_dl_rq()
679 SEQ_printf(m, " .%-30s: %lld\n", "dl_bw->bw", dl_bw->bw); in print_dl_rq()
680 SEQ_printf(m, " .%-30s: %lld\n", "dl_bw->total_bw", dl_bw->total_bw); in print_dl_rq()
702 if (sizeof(rq->x) == 4) \ in print_cpu()
703 SEQ_printf(m, " .%-30s: %ld\n", #x, (long)(rq->x)); \ in print_cpu()
705 SEQ_printf(m, " .%-30s: %Ld\n", #x, (long long)(rq->x));\ in print_cpu()
709 SEQ_printf(m, " .%-30s: %Ld.%06ld\n", #x, SPLIT_NS(rq->x)) in print_cpu()
715 SEQ_printf(m, " .%-30s: %ld\n", "curr->pid", (long)(task_pid_nr(rq->curr))); in print_cpu()
719 P(cluster->load_scale_factor); in print_cpu()
720 P(cluster->capacity); in print_cpu()
721 P(cluster->max_possible_capacity); in print_cpu()
722 P(cluster->efficiency); in print_cpu()
723 P(cluster->cur_freq); in print_cpu()
724 P(cluster->max_freq); in print_cpu()
725 P(cluster->exec_scale_factor); in print_cpu()
726 SEQ_printf(m, " .%-30s: %llu\n", "walt_stats.cumulative_runnable_avg", in print_cpu()
727 rq->walt_stats.cumulative_runnable_avg_scaled); in print_cpu()
733 #define P64(n) SEQ_printf(m, " .%-30s: %Ld\n", #n, rq->n); in print_cpu()
739 #define P(n) SEQ_printf(m, " .%-30s: %d\n", #n, schedstat_val(rq->n)); in print_cpu()
775 init_utsname()->release, in sched_debug_header()
776 (int)strcspn(init_utsname()->version, " "), in sched_debug_header()
777 init_utsname()->version); in sched_debug_header()
780 SEQ_printf(m, "%-40s: %Ld\n", #x, (long long)(x)) in sched_debug_header()
782 SEQ_printf(m, "%-40s: %Ld.%06ld\n", #x, SPLIT_NS(x)) in sched_debug_header()
797 SEQ_printf(m, " .%-40s: %Ld\n", #x, (long long)(x)) in sched_debug_header()
799 SEQ_printf(m, " .%-40s: %Ld.%06ld\n", #x, SPLIT_NS(x)) in sched_debug_header()
814 SEQ_printf(m, " .%-40s: %d (%s)\n", in sched_debug_header()
823 int cpu = (unsigned long)(v - 2); in sched_debug_show()
825 if (cpu != -1) in sched_debug_show()
864 n--; in sched_debug_start()
867 n = cpumask_next(n - 1, cpu_online_mask); in sched_debug_start()
899 return -ENOMEM; in init_sched_debug_procfs()
905 #define __PS(S, F) SEQ_printf(m, "%-45s:%21Ld\n", S, (long long)(F))
907 #define P(F) __PS(#F, p->F)
908 #define PM(F, M) __PS(#F, p->F & (M))
909 #define __PSN(S, F) SEQ_printf(m, "%-45s:%14Ld.%06ld\n", S, SPLIT_NS((long long)(F)))
911 #define PN(F) __PSN(#F, p->F)
928 if (p->mm) in sched_show_numa()
929 P(mm->numa_scan_seq); in sched_show_numa()
945 SEQ_printf(m, "%s (%d, #threads: %d)\n", p->comm, task_pid_nr_ns(p, ns), in proc_sched_show_task()
948 "---------------------------------------------------------" in proc_sched_show_task()
949 "----------\n"); in proc_sched_show_task()
951 #define P_SCHEDSTAT(F) __PS(#F, schedstat_val(p->F)) in proc_sched_show_task()
952 #define PN_SCHEDSTAT(F) __PSN(#F, schedstat_val(p->F)) in proc_sched_show_task()
954 PN(se.exec_start); in proc_sched_show_task()
955 PN(se.vruntime); in proc_sched_show_task()
956 PN(se.sum_exec_runtime); in proc_sched_show_task()
958 nr_switches = p->nvcsw + p->nivcsw; in proc_sched_show_task()
960 P(se.nr_migrations); in proc_sched_show_task()
965 PN_SCHEDSTAT(se.statistics.sum_sleep_runtime); in proc_sched_show_task()
966 PN_SCHEDSTAT(se.statistics.wait_start); in proc_sched_show_task()
967 PN_SCHEDSTAT(se.statistics.sleep_start); in proc_sched_show_task()
968 PN_SCHEDSTAT(se.statistics.block_start); in proc_sched_show_task()
969 PN_SCHEDSTAT(se.statistics.sleep_max); in proc_sched_show_task()
970 PN_SCHEDSTAT(se.statistics.block_max); in proc_sched_show_task()
971 PN_SCHEDSTAT(se.statistics.exec_max); in proc_sched_show_task()
972 PN_SCHEDSTAT(se.statistics.slice_max); in proc_sched_show_task()
973 PN_SCHEDSTAT(se.statistics.wait_max); in proc_sched_show_task()
974 PN_SCHEDSTAT(se.statistics.wait_sum); in proc_sched_show_task()
975 P_SCHEDSTAT(se.statistics.wait_count); in proc_sched_show_task()
976 PN_SCHEDSTAT(se.statistics.iowait_sum); in proc_sched_show_task()
977 P_SCHEDSTAT(se.statistics.iowait_count); in proc_sched_show_task()
978 P_SCHEDSTAT(se.statistics.nr_migrations_cold); in proc_sched_show_task()
979 P_SCHEDSTAT(se.statistics.nr_failed_migrations_affine); in proc_sched_show_task()
980 P_SCHEDSTAT(se.statistics.nr_failed_migrations_running); in proc_sched_show_task()
981 P_SCHEDSTAT(se.statistics.nr_failed_migrations_hot); in proc_sched_show_task()
982 P_SCHEDSTAT(se.statistics.nr_forced_migrations); in proc_sched_show_task()
983 P_SCHEDSTAT(se.statistics.nr_wakeups); in proc_sched_show_task()
984 P_SCHEDSTAT(se.statistics.nr_wakeups_sync); in proc_sched_show_task()
985 P_SCHEDSTAT(se.statistics.nr_wakeups_migrate); in proc_sched_show_task()
986 P_SCHEDSTAT(se.statistics.nr_wakeups_local); in proc_sched_show_task()
987 P_SCHEDSTAT(se.statistics.nr_wakeups_remote); in proc_sched_show_task()
988 P_SCHEDSTAT(se.statistics.nr_wakeups_affine); in proc_sched_show_task()
989 P_SCHEDSTAT(se.statistics.nr_wakeups_affine_attempts); in proc_sched_show_task()
990 P_SCHEDSTAT(se.statistics.nr_wakeups_passive); in proc_sched_show_task()
991 P_SCHEDSTAT(se.statistics.nr_wakeups_idle); in proc_sched_show_task()
997 avg_atom = p->se.sum_exec_runtime; in proc_sched_show_task()
1001 avg_atom = -1LL; in proc_sched_show_task()
1003 avg_per_cpu = p->se.sum_exec_runtime; in proc_sched_show_task()
1004 if (p->se.nr_migrations) { in proc_sched_show_task()
1006 p->se.nr_migrations); in proc_sched_show_task()
1008 avg_per_cpu = -1LL; in proc_sched_show_task()
1016 __PS("nr_voluntary_switches", p->nvcsw); in proc_sched_show_task()
1017 __PS("nr_involuntary_switches", p->nivcsw); in proc_sched_show_task()
1019 P(se.load.weight); in proc_sched_show_task()
1021 P(se.avg.load_sum); in proc_sched_show_task()
1022 P(se.avg.runnable_sum); in proc_sched_show_task()
1023 P(se.avg.util_sum); in proc_sched_show_task()
1024 P(se.avg.load_avg); in proc_sched_show_task()
1025 P(se.avg.runnable_avg); in proc_sched_show_task()
1026 P(se.avg.util_avg); in proc_sched_show_task()
1027 P(se.avg.last_update_time); in proc_sched_show_task()
1028 P(se.avg.util_est.ewma); in proc_sched_show_task()
1029 PM(se.avg.util_est.enqueued, ~UTIL_AVG_UNCHANGED); in proc_sched_show_task()
1032 __PS("uclamp.min", p->uclamp_req[UCLAMP_MIN].value); in proc_sched_show_task()
1033 __PS("uclamp.max", p->uclamp_req[UCLAMP_MAX].value); in proc_sched_show_task()
1055 __PS("clock-delta", t1-t0); in proc_sched_show_task()
1064 memset(&p->se.statistics, 0, sizeof(p->se.statistics)); in proc_sched_set_task()