/linux-6.14.4/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 …]
|
/linux-6.14.4/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 …]
|
/linux-6.14.4/tools/perf/pmu-events/arch/arm64/ampere/ampereonex/ |
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" 285 "PublicDescription": "Instructions issued by the scheduler", 288 "BriefDescription": "Instructions issued by the scheduler" 297 "PublicDescription": "A load wakeup to the scheduler has been canceled", 300 "BriefDescription": "A load wakeup to the scheduler has been canceled" 303 "PublicDescription": "The scheduler had to cancel one slow Uop due to resource conflict", 306 "BriefDescription": "The scheduler had to cancel one slow Uop due to resource conflict" [all …]
|
/linux-6.14.4/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 …]
|
/linux-6.14.4/Documentation/scheduler/ |
D | sched-ext.rst | 2 Extensible Scheduler Class 5 sched_ext is a scheduler class whose behavior can be defined by a set of BPF 6 programs - the BPF scheduler. 11 * The BPF scheduler can group CPUs however it sees fit and schedule them 14 * The BPF scheduler can be turned on and off dynamically anytime. 16 * The system integrity is maintained no matter what the BPF scheduler does. 21 * When the BPF scheduler triggers an error, debug information is dumped to 23 scheduler binary. The debug dump can also be accessed through the 25 triggers a debug dump. This doesn't terminate the BPF scheduler and can 47 sched_ext is used only when the BPF scheduler is loaded and running. [all …]
|
D | sched-design-CFS.rst | 4 CFS Scheduler 11 CFS stands for "Completely Fair Scheduler," and is the "desktop" process 12 scheduler implemented by Ingo Molnar and merged in Linux 2.6.23. When 14 scheduler's SCHED_OTHER interactivity code. Nowadays, CFS is making room 16 Documentation/scheduler/sched-eevdf.rst. 63 previous vanilla scheduler and RSDL/SD are affected). 83 schedules (or a scheduler tick happens) the task's CPU usage is "accounted 97 other HZ detail. Thus the CFS scheduler has no notion of "timeslices" in the 98 way the previous scheduler had, and has no heuristics whatsoever. There is 103 which can be used to tune the scheduler from "desktop" (i.e., low latencies) to [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 …]
|
/linux-6.14.4/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.
|
/linux-6.14.4/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 54 * The DRM GPU scheduler provides a flow control mechanism to regulate the rate 55 * in which the jobs fetched from scheduler entities are executed. [all …]
|
D | sched_entity.c | 37 * drm_sched_entity_init - Init a context entity used by scheduler when 40 * @entity: scheduler entity to init 76 * scheduler attached. It's just not valid to use the scheduler before it in drm_sched_entity_init() 88 pr_warn("%s: called with uninitialized scheduler\n", __func__); in drm_sched_entity_init() 91 * scheduler. Protect against num_rqs being 0, by converting to signed. Choose in drm_sched_entity_init() 120 * @entity: scheduler entity to init 169 * @entity: scheduler entity to check 197 /* Signal the scheduler finished fence when the entity in question is killed. */ 238 /* Remove the entity from the scheduler and kill all pending jobs */ 252 /* Make sure this entity is not used by the scheduler at the moment */ in drm_sched_entity_kill() [all …]
|
/linux-6.14.4/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 …]
|
/linux-6.14.4/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 122 * be scheduled on any scheduler on this list. 201 * by the scheduler thread, can be accessed locklessly from 247 * @sched: the scheduler to which this rq belongs to. 272 * @scheduled: this fence is what will be signaled by the scheduler 278 * @finished: this fence is what will be signaled by the scheduler 302 * @sched: the scheduler instance to which the job having this struct 323 * @sched: the scheduler instance on which this job is scheduled. 326 * @credits: the number of credits this job contributes to the scheduler [all …]
|
/linux-6.14.4/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
|
/linux-6.14.4/tools/sched_ext/ |
D | README.md | 51 In order to run a sched_ext scheduler, you'll have to run a kernel compiled 93 example, using vmlinux.h allows a scheduler to access fields defined directly 108 bpf_printk("Task %s enabled in example scheduler", p->comm); 119 The scheduler build system will generate this vmlinux.h file as part of the 120 scheduler build pipeline. It looks for a vmlinux file in the following 163 For more scheduler implementations, tools and documentation, visit 168 A simple scheduler that provides an example of a minimal sched_ext scheduler. 171 Though very simple, in limited scenarios, this scheduler can perform reasonably 176 Another simple, yet slightly more complex scheduler that provides an example of 184 A "central" scheduler where scheduling decisions are made from a single CPU. [all …]
|
/linux-6.14.4/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 …]
|
/linux-6.14.4/drivers/gpu/drm/xe/ |
D | xe_gpu_scheduler_types.h | 12 * struct xe_sched_msg - an in-band (relative to GPU scheduler run queue) 18 /** @link: list link into the gpu scheduler list of messages */ 30 * scheduler 41 * struct xe_gpu_scheduler - Xe GPU scheduler 44 /** @base: DRM GPU scheduler */ 46 /** @ops: Xe scheduler ops */
|
D | Kconfig.profile | 6 be forcefully taken away from scheduler. 12 be forcefully taken away from scheduler. 48 bool "Default configuration of limitation on scheduler timeout" 51 Configures the enablement of limitation on scheduler timeout
|
/linux-6.14.4/drivers/gpu/drm/panthor/ |
D | panthor_sched.c | 37 * DOC: Scheduler 64 * FW-scheduler, we use the 1:1 entity:scheduler mode, such that each 65 * entity has its own job scheduler. When a job is ready to be executed 152 * struct panthor_scheduler - Object used to manage the scheduler 159 * @wq: Workqueue used by our internal scheduler logic and 162 * Used for the scheduler tick, group update or other kind of FW 173 * blocking the rest of the scheduler if the allocation tries to 197 * FW event processing to the scheduler workqueue. 224 * @lock: Lock protecting access to all the scheduler fields. 296 /** @has_ref: True if the scheduler owns a runtime PM reference. */ [all …]
|
/linux-6.14.4/tools/perf/pmu-events/arch/x86/amdzen3/ |
D | other.json | 28 …have been stalled due to a Token Stall. FP scheduler resource stall. Applies to ops that use the F… 46 …roup is valid but does not get dispatched due to a token stall. Integer Scheduler miscellaneous re… 82 …but does not get dispatched due to a token stall. No tokens for Integer Scheduler Queue 3 availabl… 88 …but does not get dispatched due to a token stall. No tokens for Integer Scheduler Queue 2 availabl… 94 …but does not get dispatched due to a token stall. No tokens for Integer Scheduler Queue 1 availabl… 100 …but does not get dispatched due to a token stall. No tokens for Integer Scheduler Queue 0 availabl…
|
/linux-6.14.4/kernel/ |
D | Kconfig.preempt | 76 bool "Scheduler controlled preemption model" 81 This option provides a scheduler driven preemption model that 99 low level and critical code paths (entry code, scheduler, low 101 execution contexts under scheduler control. 158 This option enables a new scheduler class sched_ext (SCX), which 167 - Rapid scheduler deployments: Non-disruptive swap outs of 177 Documentation/scheduler/sched-ext.rst
|
/linux-6.14.4/net/sched/ |
D | Kconfig | 16 If you say N here, you will get the standard packet scheduler, which 75 scheduler. 83 Say Y here if you want to use an n-band queue packet scheduler 173 tristate "Time Aware Priority (taprio) Scheduler" 208 tristate "Deficit Round Robin scheduler (DRR)" 219 tristate "Multi-queue priority scheduler (MQPRIO)" 222 Say Y here if you want to use the Multi-queue Priority scheduler. 223 This scheduler allows QOS to be offloaded on NICs that have support 232 tristate "SKB priority queue scheduler (SKBPRIO)" 235 scheduler. This schedules packets according to skb->priority, [all …]
|
/linux-6.14.4/include/linux/sched/ |
D | ext.h | 3 * BPF extensible scheduler class: Documentation/scheduler/sched-ext.rst 56 * buffer between the scheduler core and the BPF scheduler. See the 162 /* BPF scheduler modifiable fields */ 167 * scheduler. Automatically decreased by SCX as the task executes. On 179 * but can also be modified directly by the BPF scheduler. Modifying it 189 * Can be set from ops.init_task() while the BPF scheduler is being
|
/linux-6.14.4/net/mptcp/ |
D | ctrl.c | 41 char scheduler[MPTCP_SCHED_NAME_MAX]; member 88 return mptcp_get_pernet(net)->scheduler; in mptcp_get_scheduler() 103 strscpy(pernet->scheduler, "default", sizeof(pernet->scheduler)); in mptcp_pernet_set_defaults() 107 static int mptcp_set_scheduler(char *scheduler, const char *name) in mptcp_set_scheduler() argument 115 strscpy(scheduler, name, MPTCP_SCHED_NAME_MAX); in mptcp_set_scheduler() 126 char (*scheduler)[MPTCP_SCHED_NAME_MAX] = ctl->data; in proc_scheduler() local 134 strscpy(val, *scheduler, MPTCP_SCHED_NAME_MAX); in proc_scheduler() 138 ret = mptcp_set_scheduler(*scheduler, val); in proc_scheduler() 226 .procname = "scheduler", 276 table[6].data = &pernet->scheduler; in mptcp_pernet_new_table()
|