| /kernel/linux/linux-6.6/net/netfilter/ipvs/ |
| D | ip_vs_sched.c | 29 * IPVS scheduler list 38 * Bind a service with a scheduler 41 struct ip_vs_scheduler *scheduler) in ip_vs_bind_scheduler() argument 45 if (scheduler->init_service) { in ip_vs_bind_scheduler() 46 ret = scheduler->init_service(svc); in ip_vs_bind_scheduler() 52 rcu_assign_pointer(svc->scheduler, scheduler); in ip_vs_bind_scheduler() 58 * Unbind a service with its scheduler 65 cur_sched = rcu_dereference_protected(svc->scheduler, 1); in ip_vs_unbind_scheduler() 72 /* svc->scheduler can be set to NULL only by caller */ in ip_vs_unbind_scheduler() 77 * Get scheduler in the scheduler list by name [all …]
|
| /kernel/linux/linux-5.10/net/netfilter/ipvs/ |
| D | ip_vs_sched.c | 29 * IPVS scheduler list 38 * Bind a service with a scheduler 41 struct ip_vs_scheduler *scheduler) in ip_vs_bind_scheduler() argument 45 if (scheduler->init_service) { in ip_vs_bind_scheduler() 46 ret = scheduler->init_service(svc); in ip_vs_bind_scheduler() 52 rcu_assign_pointer(svc->scheduler, scheduler); in ip_vs_bind_scheduler() 58 * Unbind a service with its scheduler 65 cur_sched = rcu_dereference_protected(svc->scheduler, 1); in ip_vs_unbind_scheduler() 72 /* svc->scheduler can be set to NULL only by caller */ in ip_vs_unbind_scheduler() 77 * Get scheduler in the scheduler list by name [all …]
|
| /kernel/linux/linux-6.6/drivers/gpu/drm/i915/gvt/ |
| D | sched_policy.c | 134 struct intel_gvt_workload_scheduler *scheduler = &gvt->scheduler; in try_to_schedule_next_vgpu() local 141 * let scheduler chose next_vgpu again by setting it to NULL. in try_to_schedule_next_vgpu() 143 if (scheduler->next_vgpu == scheduler->current_vgpu) { in try_to_schedule_next_vgpu() 144 scheduler->next_vgpu = NULL; in try_to_schedule_next_vgpu() 152 scheduler->need_reschedule = true; in try_to_schedule_next_vgpu() 156 if (scheduler->current_workload[engine->id]) in try_to_schedule_next_vgpu() 161 vgpu_update_timeslice(scheduler->current_vgpu, cur_time); in try_to_schedule_next_vgpu() 162 vgpu_data = scheduler->next_vgpu->sched_data; in try_to_schedule_next_vgpu() 166 scheduler->current_vgpu = scheduler->next_vgpu; in try_to_schedule_next_vgpu() 167 scheduler->next_vgpu = NULL; in try_to_schedule_next_vgpu() [all …]
|
| D | scheduler.c | 292 struct intel_gvt_workload_scheduler *scheduler = &gvt->scheduler; in shadow_context_status_change() local 298 spin_lock_irqsave(&scheduler->mmio_context_lock, flags); in shadow_context_status_change() 300 scheduler->engine_owner[ring_id]) { in shadow_context_status_change() 302 intel_gvt_switch_mmio(scheduler->engine_owner[ring_id], in shadow_context_status_change() 304 scheduler->engine_owner[ring_id] = NULL; in shadow_context_status_change() 306 spin_unlock_irqrestore(&scheduler->mmio_context_lock, flags); in shadow_context_status_change() 311 workload = scheduler->current_workload[ring_id]; in shadow_context_status_change() 317 spin_lock_irqsave(&scheduler->mmio_context_lock, flags); in shadow_context_status_change() 318 if (workload->vgpu != scheduler->engine_owner[ring_id]) { in shadow_context_status_change() 320 intel_gvt_switch_mmio(scheduler->engine_owner[ring_id], in shadow_context_status_change() [all …]
|
| /kernel/linux/linux-5.10/drivers/gpu/drm/i915/gvt/ |
| D | sched_policy.c | 134 struct intel_gvt_workload_scheduler *scheduler = &gvt->scheduler; in try_to_schedule_next_vgpu() local 141 * let scheduler chose next_vgpu again by setting it to NULL. in try_to_schedule_next_vgpu() 143 if (scheduler->next_vgpu == scheduler->current_vgpu) { in try_to_schedule_next_vgpu() 144 scheduler->next_vgpu = NULL; in try_to_schedule_next_vgpu() 152 scheduler->need_reschedule = true; in try_to_schedule_next_vgpu() 156 if (scheduler->current_workload[engine->id]) in try_to_schedule_next_vgpu() 161 vgpu_update_timeslice(scheduler->current_vgpu, cur_time); in try_to_schedule_next_vgpu() 162 vgpu_data = scheduler->next_vgpu->sched_data; in try_to_schedule_next_vgpu() 166 scheduler->current_vgpu = scheduler->next_vgpu; in try_to_schedule_next_vgpu() 167 scheduler->next_vgpu = NULL; in try_to_schedule_next_vgpu() [all …]
|
| D | scheduler.c | 274 struct intel_gvt_workload_scheduler *scheduler = &gvt->scheduler; in shadow_context_status_change() local 280 spin_lock_irqsave(&scheduler->mmio_context_lock, flags); in shadow_context_status_change() 282 scheduler->engine_owner[ring_id]) { in shadow_context_status_change() 284 intel_gvt_switch_mmio(scheduler->engine_owner[ring_id], in shadow_context_status_change() 286 scheduler->engine_owner[ring_id] = NULL; in shadow_context_status_change() 288 spin_unlock_irqrestore(&scheduler->mmio_context_lock, flags); in shadow_context_status_change() 293 workload = scheduler->current_workload[ring_id]; in shadow_context_status_change() 299 spin_lock_irqsave(&scheduler->mmio_context_lock, flags); in shadow_context_status_change() 300 if (workload->vgpu != scheduler->engine_owner[ring_id]) { in shadow_context_status_change() 302 intel_gvt_switch_mmio(scheduler->engine_owner[ring_id], in shadow_context_status_change() [all …]
|
| /kernel/linux/linux-6.6/tools/perf/pmu-events/arch/arm64/ampere/ampereone/ |
| D | core-imp-def.json | 219 "PublicDescription": "Dispatch stall due to IXU scheduler entries", 222 "BriefDescription": "Dispatch stall due to IXU scheduler entries" 225 "PublicDescription": "Dispatch stall due to FSU scheduler entries", 228 "BriefDescription": "Dispatch stall due to FSU scheduler entries" 297 "PublicDescription": "Instructions issued by the scheduler", 300 "BriefDescription": "Instructions issued by the scheduler" 309 "PublicDescription": "A load wakeup to the scheduler has been cancelled", 312 "BriefDescription": "A load wakeup to the scheduler has been cancelled" 315 "PublicDescription": "The scheduler had to cancel one slow Uop due to resource conflict", 318 "BriefDescription": "The scheduler had to cancel one slow Uop due to resource conflict" [all …]
|
| /kernel/linux/linux-6.6/Documentation/block/ |
| D | switching-sched.rst | 2 Switching Scheduler 5 Each io queue has a set of io scheduler tunables associated with it. These 6 tunables control how the io scheduler works. You can find these entries 16 It is possible to change the IO scheduler for a given block device on 20 To set a specific scheduler, simply do this:: 22 echo SCHEDNAME > /sys/block/DEV/queue/scheduler 24 where SCHEDNAME is the name of a defined IO scheduler, and DEV is the 28 a "cat /sys/block/DEV/queue/scheduler" - the list of valid names 29 will be displayed, with the currently selected scheduler in brackets:: 31 # cat /sys/block/sda/queue/scheduler [all …]
|
| D | deadline-iosched.rst | 2 Deadline IO scheduler tunables 5 This little file attempts to document how the deadline io scheduler works. 12 selecting an io scheduler on a per-device basis. 19 The goal of the deadline io scheduler is to attempt to guarantee a start 21 tunable. When a read request first enters the io scheduler, it is assigned 49 When we have to move requests from the io scheduler queue to the block 60 Sometimes it happens that a request enters the io scheduler that is contiguous 69 rbtree front sector lookup when the io scheduler merge function is called.
|
| /kernel/linux/linux-5.10/Documentation/block/ |
| D | switching-sched.rst | 2 Switching Scheduler 5 Each io queue has a set of io scheduler tunables associated with it. These 6 tunables control how the io scheduler works. You can find these entries 16 It is possible to change the IO scheduler for a given block device on 20 To set a specific scheduler, simply do this:: 22 echo SCHEDNAME > /sys/block/DEV/queue/scheduler 24 where SCHEDNAME is the name of a defined IO scheduler, and DEV is the 28 a "cat /sys/block/DEV/queue/scheduler" - the list of valid names 29 will be displayed, with the currently selected scheduler in brackets:: 31 # cat /sys/block/sda/queue/scheduler [all …]
|
| D | deadline-iosched.rst | 2 Deadline IO scheduler tunables 5 This little file attempts to document how the deadline io scheduler works. 12 selecting an io scheduler on a per-device basis. 19 The goal of the deadline io scheduler is to attempt to guarantee a start 21 tunable. When a read request first enters the io scheduler, it is assigned 49 When we have to move requests from the io scheduler queue to the block 60 Sometimes it happens that a request enters the io scheduler that is contiguous 69 rbtree front sector lookup when the io scheduler merge function is called.
|
| /kernel/linux/linux-5.10/drivers/gpu/drm/scheduler/ |
| D | sched_main.c | 27 * The GPU scheduler provides entities which allow userspace to push jobs 29 * The software queues have a priority among them. The scheduler selects the entities 30 * from the run queue using a FIFO. The scheduler provides dependency handling 32 * backend operations to the scheduler like submitting a job to hardware run queue, 35 * The organisation of the scheduler is the following: 37 * 1. Each hw run queue has one scheduler 38 * 2. Each scheduler has multiple run queues with different priorities 40 * 3. Each scheduler run queue has a queue of entities to schedule 68 * @rq: scheduler run queue 70 * Initializes a scheduler runqueue. [all …]
|
| /kernel/linux/linux-6.6/drivers/gpu/drm/scheduler/ |
| D | sched_main.c | 27 * The GPU scheduler provides entities which allow userspace to push jobs 29 * The software queues have a priority among them. The scheduler selects the entities 30 * from the run queue using a FIFO. The scheduler provides dependency handling 32 * backend operations to the scheduler like submitting a job to hardware run queue, 35 * The organisation of the scheduler is the following: 37 * 1. Each hw run queue has one scheduler 38 * 2. Each scheduler has multiple run queues with different priorities 40 * 3. Each scheduler run queue has a queue of entities to schedule 122 * @sched: scheduler instance to associate with this run queue 123 * @rq: scheduler run queue [all …]
|
| /kernel/linux/linux-6.6/Documentation/gpu/rfc/ |
| D | i915_scheduler.rst | 2 I915 GuC Submission/DRM Scheduler Section 8 i915 with the DRM scheduler is: 14 * Lots of rework will need to be done to integrate with DRM scheduler so 32 * Convert the i915 to use the DRM scheduler 33 * GuC submission backend fully integrated with DRM scheduler 35 handled in DRM scheduler) 36 * Resets / cancels hook in DRM scheduler 37 * Watchdog hooks into DRM scheduler 39 integrated with DRM scheduler (e.g. state machine gets 41 * Execlists backend will minimum required to hook in the DRM scheduler [all …]
|
| /kernel/linux/linux-6.6/Documentation/scheduler/ |
| D | sched-design-CFS.rst | 2 CFS Scheduler 9 CFS stands for "Completely Fair Scheduler," and is the new "desktop" process 10 scheduler implemented by Ingo Molnar and merged in Linux 2.6.23. It is the 11 replacement for the previous vanilla scheduler's SCHED_OTHER interactivity 59 previous vanilla scheduler and RSDL/SD are affected). 79 schedules (or a scheduler tick happens) the task's CPU usage is "accounted 93 other HZ detail. Thus the CFS scheduler has no notion of "timeslices" in the 94 way the previous scheduler had, and has no heuristics whatsoever. There is 99 which can be used to tune the scheduler from "desktop" (i.e., low latencies) to 101 for desktop workloads. SCHED_BATCH is handled by the CFS scheduler module too. [all …]
|
| D | sched-nice-design.rst | 2 Scheduler Nice Design 6 nice-levels implementation in the new Linux scheduler. 12 scheduler, (otherwise we'd have done it long ago) because nice level 16 In the O(1) scheduler (in 2003) we changed negative nice levels to be 77 With the old scheduler, if you for example started a niced task with +1 88 The new scheduler in v2.6.23 addresses all three types of complaints: 91 enough), the scheduler was decoupled from 'time slice' and HZ concepts 94 support: with the new scheduler nice +19 tasks get a HZ-independent 96 scheduler. 99 the new scheduler makes nice(1) have the same CPU utilization effect on [all …]
|
| /kernel/linux/linux-5.10/Documentation/scheduler/ |
| D | sched-design-CFS.rst | 2 CFS Scheduler 9 CFS stands for "Completely Fair Scheduler," and is the new "desktop" process 10 scheduler implemented by Ingo Molnar and merged in Linux 2.6.23. It is the 11 replacement for the previous vanilla scheduler's SCHED_OTHER interactivity 59 previous vanilla scheduler and RSDL/SD are affected). 79 schedules (or a scheduler tick happens) the task's CPU usage is "accounted 93 other HZ detail. Thus the CFS scheduler has no notion of "timeslices" in the 94 way the previous scheduler had, and has no heuristics whatsoever. There is 99 which can be used to tune the scheduler from "desktop" (i.e., low latencies) to 101 for desktop workloads. SCHED_BATCH is handled by the CFS scheduler module too. [all …]
|
| D | sched-nice-design.rst | 2 Scheduler Nice Design 6 nice-levels implementation in the new Linux scheduler. 12 scheduler, (otherwise we'd have done it long ago) because nice level 16 In the O(1) scheduler (in 2003) we changed negative nice levels to be 77 With the old scheduler, if you for example started a niced task with +1 88 The new scheduler in v2.6.23 addresses all three types of complaints: 91 enough), the scheduler was decoupled from 'time slice' and HZ concepts 94 support: with the new scheduler nice +19 tasks get a HZ-independent 96 scheduler. 99 the new scheduler makes nice(1) have the same CPU utilization effect on [all …]
|
| /kernel/linux/linux-5.10/block/ |
| D | Kconfig.iosched | 7 tristate "MQ deadline I/O scheduler" 10 MQ version of the deadline IO scheduler. 13 tristate "Kyber I/O scheduler" 16 The Kyber I/O scheduler is a low-overhead scheduler suitable for 22 tristate "BFQ I/O scheduler" 24 BFQ I/O scheduler for BLK-MQ. BFQ distributes the bandwidth of
|
| /kernel/linux/linux-6.6/block/ |
| D | Kconfig.iosched | 5 tristate "MQ deadline I/O scheduler" 8 MQ version of the deadline IO scheduler. 11 tristate "Kyber I/O scheduler" 14 The Kyber I/O scheduler is a low-overhead scheduler suitable for 20 tristate "BFQ I/O scheduler" 23 BFQ I/O scheduler for BLK-MQ. BFQ distributes the bandwidth of
|
| /kernel/linux/linux-5.10/drivers/net/wireless/intel/iwlegacy/ |
| D | prph.h | 236 /* 3945 Tx scheduler registers */ 247 * Tx Scheduler 249 * The Tx Scheduler selects the next frame to be transmitted, choosing TFDs 275 * 1) Scheduler-Ack, in which the scheduler automatically supports a 281 * In scheduler-ack mode, the scheduler keeps track of the Tx status of 292 * 2) FIFO (a.k.a. non-Scheduler-ACK), in which each TFD is processed in order. 300 * Driver controls scheduler operation via 3 means: 301 * 1) Scheduler registers 302 * 2) Shared scheduler data base in internal 4956 SRAM 313 * the scheduler (especially for queue #4/#9, the command queue, otherwise [all …]
|
| /kernel/linux/linux-6.6/drivers/net/wireless/intel/iwlegacy/ |
| D | prph.h | 236 /* 3945 Tx scheduler registers */ 247 * Tx Scheduler 249 * The Tx Scheduler selects the next frame to be transmitted, choosing TFDs 275 * 1) Scheduler-Ack, in which the scheduler automatically supports a 281 * In scheduler-ack mode, the scheduler keeps track of the Tx status of 292 * 2) FIFO (a.k.a. non-Scheduler-ACK), in which each TFD is processed in order. 300 * Driver controls scheduler operation via 3 means: 301 * 1) Scheduler registers 302 * 2) Shared scheduler data base in internal 4956 SRAM 313 * the scheduler (especially for queue #4/#9, the command queue, otherwise [all …]
|
| /kernel/linux/linux-5.10/include/drm/ |
| D | gpu_scheduler.h | 57 * Jobs from this entity can be scheduled on any scheduler 81 * ring, and the scheduler will alternate between entities based on 110 * @sched: the scheduler to which this rq belongs to. 130 * @scheduled: this fence is what will be signaled by the scheduler 136 * @finished: this fence is what will be signaled by the scheduler 154 * @sched: the scheduler instance to which the job having this struct 174 * @sched: the scheduler instance on which this job is scheduled. 178 * @id: a unique id assigned to each job scheduled on the scheduler. 180 * limit of the scheduler then the job is marked guilty and will not 187 * should call drm_sched_entity_push_job() once it wants the scheduler [all …]
|
| /kernel/linux/linux-6.6/include/drm/ |
| D | gpu_scheduler.h | 38 * Setting this flag on a scheduler fence prevents pipelining of jobs depending 85 * ring, and the scheduler will alternate between entities based on 114 * be scheduled on any scheduler on this list. 200 * by the scheduler thread, can be accessed locklessly from 247 * @sched: the scheduler to which this rq belongs to. 269 * @scheduled: this fence is what will be signaled by the scheduler 275 * @finished: this fence is what will be signaled by the scheduler 299 * @sched: the scheduler instance to which the job having this struct 320 * @sched: the scheduler instance on which this job is scheduled. 324 * @id: a unique id assigned to each job scheduled on the scheduler. [all …]
|
| /kernel/linux/linux-6.6/net/mptcp/ |
| D | ctrl.c | 35 char scheduler[MPTCP_SCHED_NAME_MAX]; member 75 return mptcp_get_pernet(net)->scheduler; in mptcp_get_scheduler() 86 strcpy(pernet->scheduler, "default"); in mptcp_pernet_set_defaults() 90 static int mptcp_set_scheduler(char *scheduler, const char *name) in mptcp_set_scheduler() argument 98 strscpy(scheduler, name, MPTCP_SCHED_NAME_MAX); in mptcp_set_scheduler() 109 char (*scheduler)[MPTCP_SCHED_NAME_MAX] = ctl->data; in proc_scheduler() local 117 strscpy(val, *scheduler, MPTCP_SCHED_NAME_MAX); in proc_scheduler() 121 ret = mptcp_set_scheduler(*scheduler, val); in proc_scheduler() 175 .procname = "scheduler", 201 table[6].data = &pernet->scheduler; in mptcp_pernet_new_table()
|