| /linux/drivers/gpu/drm/scheduler/ |
| H A D | sched_main.c | 96 static u32 drm_sched_available_credits(struct drm_gpu_scheduler *sched) in drm_sched_available_credits() argument 100 WARN_ON(check_sub_overflow(sched->credit_limit, in drm_sched_available_credits() 101 atomic_read(&sched->credit_count), in drm_sched_available_credits() 115 static bool drm_sched_can_queue(struct drm_gpu_scheduler *sched, in drm_sched_can_queue() argument 127 if (s_job->credits > sched->credit_limit) { in drm_sched_can_queue() 128 dev_WARN(sched->dev, in drm_sched_can_queue() 130 s_job->credits = sched->credit_limit; in drm_sched_can_queue() 133 return drm_sched_available_credits(sched) >= s_job->credits; in drm_sched_can_queue() 182 static void drm_sched_rq_init(struct drm_gpu_scheduler *sched, in drm_sched_rq_init() argument 189 rq->sched = sched; in drm_sched_rq_init() [all …]
|
| H A D | sched_entity.c | 215 job->sched->ops->free_job(job); in drm_sched_entity_kill_jobs_work() 285 struct drm_gpu_scheduler *sched; in drm_sched_entity_flush() local 292 sched = entity->rq->sched; in drm_sched_entity_flush() 300 sched->job_scheduled, in drm_sched_entity_flush() 304 wait_event_killable(sched->job_scheduled, in drm_sched_entity_flush() 375 drm_sched_wakeup(entity->rq->sched); in drm_sched_entity_wakeup() 402 struct drm_gpu_scheduler *sched = entity->rq->sched; in drm_sched_entity_add_dependency_cb() local 418 if (!fence->error && s_fence && s_fence->sched == sched && in drm_sched_entity_add_dependency_cb() 458 if (job->sched->ops->prepare_job) in drm_sched_job_dependency() 459 return job->sched->ops->prepare_job(job, entity); in drm_sched_job_dependency() [all …]
|
| /linux/net/mptcp/ |
| H A D | sched.c | 53 struct mptcp_sched_ops *sched, *ret = NULL; in mptcp_sched_find() 55 list_for_each_entry_rcu(sched, &mptcp_sched_list, list) { in mptcp_sched_find() local 56 if (!strcmp(sched->name, name)) { in mptcp_sched_find() 57 ret = sched; in mptcp_sched_find() 70 struct mptcp_sched_ops *sched; in mptcp_get_available_schedulers() 74 list_for_each_entry_rcu(sched, &mptcp_sched_list, list) { in mptcp_get_available_schedulers() 77 offs == 0 ? "" : " ", sched->name); in mptcp_get_available_schedulers() 85 int mptcp_validate_scheduler(struct mptcp_sched_ops *sched) in mptcp_get_available_schedulers() 87 if (!sched->get_send) { in mptcp_register_scheduler() argument 88 pr_err("%s does not implement required ops\n", sched in mptcp_register_scheduler() 72 struct mptcp_sched_ops *sched; mptcp_get_available_schedulers() local 104 mptcp_unregister_scheduler(struct mptcp_sched_ops * sched) mptcp_unregister_scheduler() argument 120 mptcp_init_sched(struct mptcp_sock * msk,struct mptcp_sched_ops * sched) mptcp_init_sched() argument 139 struct mptcp_sched_ops *sched = msk->sched; mptcp_release_sched() local [all...] |
| /linux/tools/perf/ |
| H A D | builtin-sched.c | 132 int (*switch_event)(struct perf_sched *sched, struct evsel *evsel, 135 int (*runtime_event)(struct perf_sched *sched, struct evsel *evsel, 138 int (*wakeup_event)(struct perf_sched *sched, struct evsel *evsel, 142 int (*fork_event)(struct perf_sched *sched, union perf_event *event, 145 int (*migrate_task_event)(struct perf_sched *sched, 307 static void burn_nsecs(struct perf_sched *sched, u64 nsecs) in burn_nsecs() argument 313 } while (T1 + sched->run_measurement_overhead < T0 + nsecs); in burn_nsecs() 326 static void calibrate_run_measurement_overhead(struct perf_sched *sched) in calibrate_run_measurement_overhead() argument 333 burn_nsecs(sched, 0); in calibrate_run_measurement_overhead() 338 sched->run_measurement_overhead = min_delta; in calibrate_run_measurement_overhead() [all …]
|
| /linux/drivers/gpu/drm/nouveau/ |
| H A D | nouveau_sched.c | 29 struct nouveau_sched *sched = args->sched; in nouveau_job_init() local 36 job->sched = sched; in nouveau_job_init() 87 ret = drm_sched_job_init(&job->base, &sched->entity, in nouveau_job_init() 120 struct nouveau_sched *sched = job->sched; in nouveau_job_done() local 122 spin_lock(&sched->job.list.lock); in nouveau_job_done() 124 spin_unlock(&sched->job.list.lock); in nouveau_job_done() 126 wake_up(&sched->job.wq); in nouveau_job_done() 275 struct nouveau_sched *sched = job->sched; in nouveau_job_submit() local 295 mutex_lock(&sched->mutex); in nouveau_job_submit() 307 spin_lock(&sched->job.list.lock); in nouveau_job_submit() [all …]
|
| /linux/tools/testing/selftests/ftrace/test.d/trigger/ |
| H A D | trigger-filter.tc | 14 echo 'traceoff if child_pid == 0' > events/sched/sched_process_fork/trigger 23 ! echo 'traceoff if a' > events/sched/sched_process_fork/trigger 24 ! echo 'traceoff if common_pid=0' > events/sched/sched_process_fork/trigger 25 ! echo 'traceoff if common_pid==b' > events/sched/sched_process_fork/trigger 26 echo 'traceoff if common_pid == 0' > events/sched/sched_process_fork/trigger 27 echo '!traceoff' > events/sched/sched_process_fork/trigger 28 ! echo 'traceoff if common_pid == child_pid' > events/sched/sched_process_fork/trigger 29 echo 'traceoff if common_pid <= 0' > events/sched/sched_process_fork/trigger 30 echo '!traceoff' > events/sched/sched_process_fork/trigger 31 echo 'traceoff if common_pid >= 0' > events/sched/sched_process_fork/trigger [all …]
|
| H A D | trigger-eventonoff.tc | 12 FEATURE=`grep enable_event events/sched/sched_process_fork/trigger` 19 echo 0 > events/sched/sched_switch/enable 20 echo 'enable_event:sched:sched_switch' > events/sched/sched_process_fork/trigger 22 if [ `cat events/sched/sched_switch/enable` != '1*' ]; then 29 echo 1 > events/sched/sched_switch/enable 30 echo 'disable_event:sched:sched_switch' > events/sched/sched_process_fork/trigger 32 if [ `cat events/sched/sched_switch/enable` != '0*' ]; then 39 ! echo 'enable_event:nogroup:noevent' > events/sched/sched_process_fork/trigger 40 ! echo 'disable_event+1' > events/sched/sched_process_fork/trigger 41 echo 'enable_event:sched:sched_switch' > events/sched/sched_process_fork/trigger [all …]
|
| H A D | trigger-multihist.tc | 14 echo 'hist:keys=parent_pid:vals=child_pid' > events/sched/sched_process_fork/trigger 15 echo 'hist:keys=parent_comm:vals=child_pid' >> events/sched/sched_process_fork/trigger 17 grep parent_pid events/sched/sched_process_fork/hist > /dev/null || \ 19 grep child events/sched/sched_process_fork/hist > /dev/null || \ 22 grep "parent_comm: $COMM" events/sched/sched_process_fork/hist > /dev/null || \ 29 echo 'hist:name=test_hist:keys=common_pid' > events/sched/sched_process_fork/trigger 31 grep test_hist events/sched/sched_process_fork/hist > /dev/null || \ 36 echo 'hist:name=test_hist:keys=common_pid' > events/sched/sched_process_exit/trigger 38 grep test_hist events/sched/sched_process_exit/hist > /dev/null || \ 41 diffs=`diff events/sched/sched_process_exit/hist events/sched/sched_process_fork/hist | wc -l`
|
| H A D | trigger-hist.tc | 14 echo 'hist:keys=parent_pid:vals=child_pid' > events/sched/sched_process_fork/trigger 16 grep parent_pid events/sched/sched_process_fork/hist > /dev/null || \ 18 grep child events/sched/sched_process_fork/hist > /dev/null || \ 25 echo 'hist:keys=parent_pid,child_pid' > events/sched/sched_process_fork/trigger 27 grep '^{ parent_pid:.*, child_pid:.*}' events/sched/sched_process_fork/hist > /dev/null || \ 34 echo 'hist:keys=parent_comm' > events/sched/sched_process_fork/trigger 37 grep "parent_comm: $COMM" events/sched/sched_process_fork/hist > /dev/null || \ 62 echo 'hist:keys=parent_pid,child_pid:sort=child_pid.ascending' > events/sched/sched_process_fork/tr… 73 events/sched/sched_process_fork/hist | cut -d: -f2 ` ||
|
| H A D | trigger-traceonoff.tc | 13 echo 'traceoff' > events/sched/sched_process_fork/trigger 23 echo 'traceon' > events/sched/sched_process_fork/trigger 32 ! echo 'traceoff:badparam' > events/sched/sched_process_fork/trigger 33 ! echo 'traceoff+0' > events/sched/sched_process_fork/trigger 34 echo 'traceon' > events/sched/sched_process_fork/trigger 35 ! echo 'traceon' > events/sched/sched_process_fork/trigger 36 ! echo 'traceoff' > events/sched/sched_process_fork/trigger
|
| H A D | trigger-snapshot.tc | 11 FEATURE=`grep snapshot events/sched/sched_process_fork/trigger` 19 echo 1 > events/sched/sched_process_fork/enable 21 echo 'snapshot:1' > events/sched/sched_process_fork/trigger 28 echo 0 > events/sched/sched_process_fork/enable 32 ! echo "snapshot+1" > events/sched/sched_process_fork/trigger 33 echo "snapshot" > events/sched/sched_process_fork/trigger 34 ! echo "snapshot" > events/sched/sched_process_fork/trigger
|
| H A D | trigger-stacktrace.tc | 11 FEATURE=`grep stacktrace events/sched/sched_process_fork/trigger` 20 echo 'stacktrace' > events/sched/sched_process_fork/trigger 29 ! echo "stacktrace:foo" > events/sched/sched_process_fork/trigger 30 echo "stacktrace" > events/sched/sched_process_fork/trigger 31 ! echo "stacktrace" > events/sched/sched_process_fork/trigger
|
| /linux/drivers/slimbus/ |
| H A D | sched.c | 29 struct slim_sched *sched = &ctrl->sched; in slim_ctrl_clk_pause() local 38 mutex_lock(&sched->m_reconf); in slim_ctrl_clk_pause() 40 if (sched->clk_state == SLIM_CLK_ACTIVE) { in slim_ctrl_clk_pause() 41 mutex_unlock(&sched->m_reconf); in slim_ctrl_clk_pause() 49 ret = wait_for_completion_timeout(&sched->pause_comp, in slim_ctrl_clk_pause() 52 mutex_unlock(&sched->m_reconf); in slim_ctrl_clk_pause() 63 if (sched->clk_state == SLIM_CLK_PAUSED && ctrl->wakeup) in slim_ctrl_clk_pause() 66 sched->clk_state = SLIM_CLK_ACTIVE; in slim_ctrl_clk_pause() 67 mutex_unlock(&sched->m_reconf); in slim_ctrl_clk_pause() 73 if (ctrl->sched.clk_state == SLIM_CLK_PAUSED) { in slim_ctrl_clk_pause() [all …]
|
| /linux/net/netfilter/ipvs/ |
| H A D | ip_vs_sched.c | 60 struct ip_vs_scheduler *sched) in ip_vs_unbind_scheduler() 65 /* This check proves that old 'sched' was installed */ in ip_vs_unbind_scheduler() 69 if (sched->done_service) in ip_vs_unbind_scheduler() 70 sched->done_service(svc); in ip_vs_unbind_scheduler() 80 struct ip_vs_scheduler *sched; in ip_vs_sched_getbyname() 86 list_for_each_entry(sched, &ip_vs_schedulers, n_list) { in ip_vs_sched_getbyname() 90 if (sched->module && !try_module_get(sched->module)) { in ip_vs_sched_getbyname() 96 if (strcmp(sched_name, sched->name)==0) { in ip_vs_sched_getbyname() 99 return sched; in ip_vs_sched_getbyname() 61 ip_vs_unbind_scheduler(struct ip_vs_service * svc,struct ip_vs_scheduler * sched) ip_vs_unbind_scheduler() argument 81 struct ip_vs_scheduler *sched; ip_vs_sched_getbyname() local 115 struct ip_vs_scheduler *sched; ip_vs_scheduler_get() local 145 struct ip_vs_scheduler *sched = rcu_dereference(svc->scheduler); ip_vs_scheduler_err() local 169 struct ip_vs_scheduler *sched; register_ip_vs_scheduler() local [all...] |
| /linux/drivers/gpu/drm/panthor/ |
| H A D | panthor_sched.c | 745 #define sched_queue_work(sched, wname) \ argument 747 if (!atomic_read(&(sched)->reset.in_progress) && \ 748 !panthor_device_reset_is_pending((sched)->ptdev)) \ 749 queue_work((sched)->wq, &(sched)->wname ## _work); \ 761 #define sched_queue_delayed_work(sched, wname, delay) \ argument 763 if (!atomic_read(&sched->reset.in_progress) && \ 764 !panthor_device_reset_is_pending((sched)->ptdev)) \ 765 mod_delayed_work((sched)->wq, &(sched)->wname ## _work, delay); \ 1480 struct panthor_scheduler *sched = ptdev->scheduler; in cs_slot_process_fatal_event_locked() local 1481 struct panthor_csg_slot *csg_slot = &sched->csg_slots[csg_id]; in cs_slot_process_fatal_event_locked() [all …]
|
| /linux/Documentation/translations/zh_CN/scheduler/ |
| H A D | index.rst | 22 sched-arch 23 sched-bwc 24 sched-design-CFS 25 sched-domains 26 sched-capacity 27 sched-energy 29 sched-nice-design 30 sched-stats 31 sched-debug 35 sched-deadline [all …]
|
| /linux/drivers/net/wireless/ath/ath9k/ |
| H A D | channel.c | 256 if (likely(sc->sched.channel_switch_time)) in ath_chanctx_check_active() 258 usecs_to_jiffies(sc->sched.channel_switch_time); in ath_chanctx_check_active() 306 ictx->flush_timeout = usecs_to_jiffies(sc->sched.channel_switch_time); in ath_chanctx_check_active() 377 mod_timer(&sc->sched.timer, jiffies + timeout); in ath_chanctx_setup_timer() 394 if (ctx->active && sc->sched.extend_absence) { in ath_chanctx_handle_bmiss() 396 sc->sched.extend_absence = false; in ath_chanctx_handle_bmiss() 403 if (ctx->active && sc->sched.beacon_miss >= 2) { in ath_chanctx_handle_bmiss() 405 sc->sched.extend_absence = true; in ath_chanctx_handle_bmiss() 418 avp->offchannel_duration = sc->sched.offchannel_duration; in ath_chanctx_offchannel_noa() 446 if (sc->sched.extend_absence) in ath_chanctx_set_periodic_noa() [all …]
|
| /linux/net/sctp/ |
| H A D | stream_sched.c | 116 void sctp_sched_ops_register(enum sctp_sched_type sched, in sctp_sched_ops_register() argument 119 sctp_sched_ops[sched] = sched_ops; in sctp_sched_ops_register() 133 const struct sctp_sched_ops *sched = sctp_sched_ops_from_stream(stream); in sctp_sched_free_sched() local 137 sched->unsched_all(stream); in sctp_sched_free_sched() 142 sched->free_sid(stream, i); in sctp_sched_free_sched() 149 enum sctp_sched_type sched) in sctp_sched_set_sched() argument 151 const struct sctp_sched_ops *old = asoc->outqueue.sched; in sctp_sched_set_sched() 157 if (sched > SCTP_SS_MAX) in sctp_sched_set_sched() 160 n = sctp_sched_ops[sched]; in sctp_sched_set_sched() 167 asoc->outqueue.sched in sctp_sched_set_sched() 266 struct sctp_sched_ops *sched = sctp_sched_ops_from_stream(stream); sctp_sched_init_sid() local [all...] |
| /linux/tools/perf/tests/shell/ |
| H A D | perf_sched_stats.sh | 10 if ! perf sched stats record true 2>&1 | \ 22 perf sched stats record true > /dev/null 23 if ! perf sched stats report 2>&1 | grep -E -q "Description" 36 if ! perf sched stats true 2>&1 | grep -E -q "Description" 47 perf sched stats record true > /dev/null 48 perf sched stats record true > /dev/null 49 if ! perf sched stats diff > /dev/null
|
| H A D | lock_contention.sh | 53 perf lock record -o ${perfdata} -- perf bench sched messaging -p > /dev/null 2>&1 73 perf lock con -a -b -E 1 -q -- perf bench sched messaging -p > /dev/null 2> ${result} 84 perf lock record -o- -- perf bench sched messaging -p 2> ${errout} | \ 110 perf lock con -a -b -t -E 1 -q -- perf bench sched messaging -p > /dev/null 2> ${result} 133 perf lock con -a -b -l -E 1 -q -- perf bench sched messaging -p > /dev/null 2> ${result} 151 perf lock con -a -b --lock-cgroup -E 1 -q -- perf bench sched messaging -p > /dev/null 2> ${result} 173 perf lock con -a -b -Y spinlock -q -- perf bench sched messaging -p > /dev/null 2> ${result} 205 perf lock con -a -b -L tasklist_lock -q -- perf bench sched messaging -p > /dev/null 2> ${result} 233 …perf lock con -a -b -S unix_stream -E 1 -q -- perf bench sched messaging -p > /dev/null 2> ${resul… 261 …perf lock con -a -b -t -S unix_stream -E 1 -q -- perf bench sched messaging -p > /dev/null 2> ${re… [all …]
|
| /linux/drivers/gpu/drm/xe/ |
| H A D | xe_dep_scheduler.c | 31 struct drm_gpu_scheduler sched; member 77 struct drm_gpu_scheduler *sched; in xe_dep_scheduler_create() local 93 err = drm_sched_init(&dep_scheduler->sched, &args); in xe_dep_scheduler_create() 97 sched = &dep_scheduler->sched; in xe_dep_scheduler_create() 98 err = drm_sched_entity_init(&dep_scheduler->entity, 0, &sched, 1, NULL); in xe_dep_scheduler_create() 107 drm_sched_fini(&dep_scheduler->sched); in xe_dep_scheduler_create() 124 drm_sched_fini(&dep_scheduler->sched); in xe_dep_scheduler_fini()
|
| /linux/tools/perf/Documentation/ |
| H A D | perf-sched.txt | 1 perf-sched(1) 6 perf-sched - Tool to trace/measure scheduler properties (latencies) 11 'perf sched' {record|latency|map|replay|script|timehist|stats} 15 There are several variants of 'perf sched': 17 'perf sched record <command>' to record the scheduling events 20 'perf sched latency' to report the per task scheduling latencies 24 perf sched record -- sleep 1 25 perf sched latency 43 'perf sched script' to see a detailed trace of the workload that 46 'perf sched replay' to simulate the workload that was recorded [all …]
|
| /linux/net/sched/ |
| H A D | sch_taprio.c | 120 struct sched_gate_list *sched) in taprio_calculate_gate_durations() argument 127 list_for_each_entry(entry, &sched->entries, list) { in taprio_calculate_gate_durations() 150 cur = list_next_entry_circular(cur, &sched->entries, list); in taprio_calculate_gate_durations() 159 sched->max_open_gate_duration[tc] < entry->gate_duration[tc]) in taprio_calculate_gate_durations() 160 sched->max_open_gate_duration[tc] = entry->gate_duration[tc]; in taprio_calculate_gate_durations() 170 static ktime_t sched_base_time(const struct sched_gate_list *sched) in sched_base_time() argument 172 if (!sched) in sched_base_time() 175 return ns_to_ktime(sched->base_time); in sched_base_time() 198 struct sched_gate_list *sched = container_of(head, struct sched_gate_list, rcu); in taprio_free_sched_cb() local 201 list_for_each_entry_safe(entry, n, &sched->entries, list) { in taprio_free_sched_cb() [all …]
|
| /linux/tools/sched_ext/ |
| H A D | Makefile | 183 $(eval sched=$(notdir $@)) 184 $(call msg,GEN-SKEL,,$(sched)) 189 $(Q)$(BPFTOOL) gen skeleton $(<:.o=.linked3.o) name $(subst .bpf.skel.h,,$(sched)) > $@ 190 …$(Q)$(BPFTOOL) gen subskeleton $(<:.o=.linked3.o) name $(subst .bpf.skel.h,,$(sched)) > $(@:.skel.… 194 c-sched-targets = scx_simple scx_cpu0 scx_qmap scx_central scx_flatcg scx_userland scx_pair scx_sdt 196 $(addprefix $(BINDIR)/,$(c-sched-targets)): \ 201 $(eval sched=$(notdir $@)) 202 $(CC) $(CFLAGS) -c $(sched).c -o $(SCXOBJ_DIR)/$(sched).o 203 $(CC) -o $@ $(SCXOBJ_DIR)/$(sched).o $(BPFOBJ) $(LDFLAGS) 205 $(c-sched-targets): %: $(BINDIR)/% [all …]
|
| /linux/drivers/gpu/drm/amd/amdgpu/ |
| H A D | amdgpu_job.c | 90 struct amdgpu_ring *ring = to_amdgpu_ring(s_job->sched); in amdgpu_job_timedout() 100 __func__, s_job->sched->name); in amdgpu_job_timedout() 119 s_job->sched->name); in amdgpu_job_timedout() 124 job->base.sched->name, atomic_read(&ring->fence_drv.last_seq), in amdgpu_job_timedout() 138 s_job->sched->name); in amdgpu_job_timedout() 140 drm_sched_wqueue_stop(&ring->sched); in amdgpu_job_timedout() 144 drm_sched_wqueue_start(&ring->sched); in amdgpu_job_timedout() 147 ring->sched.name); in amdgpu_job_timedout() 154 dev_err(adev->dev, "Ring %s reset failed\n", ring->sched.name); in amdgpu_job_timedout() 179 drm_sched_suspend_timeout(&ring->sched); in amdgpu_job_timedout() [all …]
|