/linux/net/netfilter/ipvs/ |
H A 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/drivers/gpu/drm/i915/gvt/ |
H A 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 …]
|
/linux/tools/perf/pmu-events/arch/arm64/ampere/ampereonex/ |
H A 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/tools/perf/pmu-events/arch/arm64/ampere/ampereone/ |
H A 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/Documentation/scheduler/ |
H A 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 …]
|
H A 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 …]
|
H A 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 …]
|
H A D | sched-energy.rst | 8 Energy Aware Scheduling (or EAS) gives the scheduler the ability to predict 23 The actual EM used by EAS is _not_ maintained by the scheduler, but by a 50 scheduler. This alternative considers two objectives: energy-efficiency and 53 The idea behind introducing an EM is to allow the scheduler to evaluate the 56 time, the EM must be as simple as possible to minimize the scheduler latency 60 for the scheduler to decide where a task should run (during wake-up), the EM 71 EAS (as well as the rest of the scheduler) uses the notion of 'capacity' to 87 The scheduler manages references to the EM objects in the topology code when the 89 scheduler maintains a singly linked list of all performance domains intersecting 115 Please note that the scheduler will create two duplicate list nodes for [all …]
|
/linux/drivers/gpu/drm/scheduler/ |
H A 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 …]
|
/linux/Documentation/block/ |
H A 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 …]
|
H A 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/Documentation/gpu/rfc/ |
H A 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/include/drm/ |
H A 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/tools/sched_ext/ |
H A 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/drivers/net/wireless/intel/iwlegacy/ |
H A 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/block/ |
H A 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/drivers/gpu/drm/xe/ |
H A 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 */
|
H A 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/drivers/gpu/drm/panthor/ |
H A D | panthor_sched.c | 36 * DOC: Scheduler 63 * FW-scheduler, we use the 1:1 entity:scheduler mode, such that each 64 * entity has its own job scheduler. When a job is ready to be executed 151 * struct panthor_scheduler - Object used to manage the scheduler 158 * @wq: Workqueue used by our internal scheduler logic and 161 * Used for the scheduler tick, group update or other kind of FW 172 * blocking the rest of the scheduler if the allocation tries to 196 * FW event processing to the scheduler workqueue. 223 * @lock: Lock protecting access to all the scheduler fields. 295 /** @has_ref: True if the scheduler owns a runtime PM reference. */ [all …]
|
/linux/tools/perf/pmu-events/arch/x86/amdzen3/ |
H A 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/kernel/ |
H A 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/net/sched/ |
H A 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/net/mptcp/ |
H A D | ctrl.c | 40 char scheduler[MPTCP_SCHED_NAME_MAX]; member 87 return mptcp_get_pernet(net)->scheduler; in mptcp_get_scheduler() 101 strscpy(pernet->scheduler, "default", sizeof(pernet->scheduler)); in mptcp_pernet_set_defaults() 105 static int mptcp_set_scheduler(char *scheduler, const char *name) in mptcp_set_scheduler() argument 113 strscpy(scheduler, name, MPTCP_SCHED_NAME_MAX); in mptcp_set_scheduler() 124 char (*scheduler)[MPTCP_SCHED_NAME_MAX] = ctl->data; in proc_scheduler() local 132 strscpy(val, *scheduler, MPTCP_SCHED_NAME_MAX); in proc_scheduler() 136 ret = mptcp_set_scheduler(*scheduler, val); in proc_scheduler() 224 .procname = "scheduler", 268 table[6].data = &pernet->scheduler; in mptcp_pernet_new_table()
|
/linux/include/linux/sched/ |
H A 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/drivers/net/wireless/intel/iwlwifi/ |
H A D | iwl-prph.h | 100 * Tx Scheduler 102 * The Tx Scheduler selects the next frame to be transmitted, choosing TFDs 129 * 1) Scheduler-Ack, in which the scheduler automatically supports a 135 * In scheduler-ack mode, the scheduler keeps track of the Tx status of 146 * 2) FIFO (a.k.a. non-Scheduler-ACK), in which each TFD is processed in order. 154 * Driver controls scheduler operation via 3 means: 155 * 1) Scheduler registers 156 * 2) Shared scheduler data base in internal SRAM 167 * the scheduler (especially for queue #4/#9, the command queue, otherwise 173 * Max Tx window size is the max number of contiguous TFDs that the scheduler [all …]
|