Home
last modified time | relevance | path

Searched full:deadline (Results 1 – 25 of 226) sorted by relevance

12345678910

/linux/Documentation/scheduler/
H A Dsched-deadline.rst2 Deadline Task Scheduling
41 basically an implementation of the Earliest Deadline First (EDF) scheduling
53 "deadline", to schedule tasks. A SCHED_DEADLINE task should receive
55 these "runtime" microseconds are available within "deadline" microseconds
57 every time the task wakes up, the scheduler computes a "scheduling deadline"
60 earliest scheduling deadline is selected for execution). Notice that the
61 task actually receives "runtime" time units within "deadline" if a proper
68 algorithm selects the task with the earliest scheduling deadline as the one
77 "deadline", and "period" parameters;
79 - The state of the task is described by a "scheduling deadline", and
[all …]
H A Dsched-rt-group.rst158 as its prone to starvation without deadline scheduling.
175 The next project will be SCHED_EDF (Earliest Deadline First scheduling) to bring
176 full deadline scheduling to the linux kernel. Deadline scheduling the above
177 groups and treating end of the period as a deadline will ensure that they both
182 the limited static priority levels 0-99. With deadline scheduling you need to
183 do deadline inheritance (since priority is inversely proportional to the
184 deadline delta (deadline - now)).
H A Dsched-bwc.rst34 This guaranteeds both that every deadline is met and that the system is
37 our deadline, but the next deadline will be further out still, there is
53 both tasks will exceed their quota at the same time (guaranteed deadline
58 At the same time, we can say that the worst case deadline miss, will be
63 missing the deadline and the average WCET. Test results showed that when
/linux/kernel/sched/
H A Ddeadline.c3 * Deadline Scheduling Class (SCHED_DEADLINE)
5 * Earliest Deadline First (EDF) + Constant Bandwidth Server (CBS).
370 * A flag in the deadline scheduling entity (dl_non_contending)
419 * If this is a non-deadline task that has been boosted, in task_non_contending()
430 zerolag_time = dl_se->deadline - in task_non_contending()
480 * If this is a non-deadline task that has been boosted, in task_contending()
536 /* zero means no -deadline tasks */ in init_dl_rq()
596 * The list of pushable -deadline task is not a plist, like in
597 * sched_rt.c, it is an rb-tree with tasks ordered by deadline.
609 rq->dl.earliest_dl.next = p->dl.deadline; in enqueue_pushable_dl_task()
[all …]
/linux/drivers/gpu/drm/msm/
H A Dmsm_fence.c34 /* If deadline fence has already passed, nothing to do: */ in deadline_work()
133 static void msm_fence_set_deadline(struct dma_fence *fence, ktime_t deadline) in msm_fence_set_deadline() argument
144 ktime_before(deadline, fctx->next_deadline)) { in msm_fence_set_deadline()
145 fctx->next_deadline = deadline; in msm_fence_set_deadline()
150 * Set timer to trigger boost 3ms before deadline, or in msm_fence_set_deadline()
151 * if we are already less than 3ms before the deadline in msm_fence_set_deadline()
154 deadline = ktime_sub(deadline, ms_to_ktime(3)); in msm_fence_set_deadline()
156 if (ktime_after(now, deadline)) { in msm_fence_set_deadline()
160 hrtimer_start(&fctx->deadline_timer, deadline, in msm_fence_set_deadline()
H A Dmsm_fence.h62 /** next_deadline: Time of next deadline */
68 * Fence value for next pending deadline. The deadline timer is
/linux/drivers/dma-buf/
H A Dsw_sync.c56 * struct sw_sync_get_deadline - get the deadline hint of a sw_sync fence
57 * @deadline_ns: absolute time of the deadline
61 * Return the earliest deadline set on the fence. The timebase for the
62 * deadline is CLOCK_MONOTONIC (same as vblank). If there is no deadline
195 static void timeline_fence_set_deadline(struct dma_fence *fence, ktime_t deadline) in timeline_fence_set_deadline() argument
202 if (ktime_before(deadline, pt->deadline)) in timeline_fence_set_deadline()
203 pt->deadline = deadline; in timeline_fence_set_deadline()
205 pt->deadline = deadline; in timeline_fence_set_deadline()
452 data.deadline_ns = ktime_to_ns(pt->deadline); in sw_sync_ioctl_get_deadline()
H A Dsync_debug.h58 * @deadline: the earliest fence deadline hint
64 ktime_t deadline; member
H A Ddma-fence.c917 * DOC: deadline hints
930 * * Workloads that interact with a periodic time based deadline, such as double
932 * missing a vblank deadline results in an *increase* in idle time on the GPU
937 * To this end, deadline hint(s) can be set on a &dma_fence via &dma_fence_set_deadline
939 * The deadline hint provides a way for the waiting driver, or userspace, to
942 * A deadline hint is given in absolute ktime (CLOCK_MONOTONIC for userspace
944 * the vblank based deadline for page-flipping, or the start of a compositor's
945 * composition cycle), or the current time to indicate an immediate deadline
951 * The deadline hint is just that, a hint. The driver that created the fence
957 * dma_fence_set_deadline - set desired fence-wait deadline hint
[all …]
/linux/drivers/gpu/drm/scheduler/
H A Dsched_fence.c60 dma_fence_set_deadline(fence, s_fence->deadline); in drm_sched_fence_set_parent()
151 ktime_t deadline) in drm_sched_fence_set_deadline_finished() argument
159 /* If we already have an earlier deadline, keep it: */ in drm_sched_fence_set_deadline_finished()
161 ktime_before(fence->deadline, deadline)) { in drm_sched_fence_set_deadline_finished()
166 fence->deadline = deadline; in drm_sched_fence_set_deadline_finished()
178 dma_fence_set_deadline(parent, deadline); in drm_sched_fence_set_deadline_finished()
/linux/Documentation/block/
H A Ddeadline-iosched.rst2 Deadline IO scheduler tunables
5 This little file attempts to document how the deadline io scheduler works.
19 The goal of the deadline io scheduler is to attempt to guarantee a start
22 a deadline that is the current time + the read_expire value in units of
37 deadline expiries are only checked between batches. fifo_batch controls the
H A Dswitching-sched.rst17 the fly to select one of mq-deadline, none, bfq, or kyber schedulers -
32 [mq-deadline] kyber bfq none
35 [none] mq-deadline kyber bfq
/linux/drivers/ata/
H A Dahci_xgene.c114 unsigned long deadline; in xgene_ahci_poll_reg_val() local
118 deadline = ata_deadline(jiffies, timeout); in xgene_ahci_poll_reg_val()
120 while (tmp != val && time_before(jiffies, deadline)) { in xgene_ahci_poll_reg_val()
303 * @deadline: deadline jiffies for the operation
348 unsigned long deadline, bool *online) in xgene_ahci_do_hardreset() argument
367 rc = sata_link_hardreset(link, timing, deadline, online, in xgene_ahci_do_hardreset()
388 unsigned long deadline) in xgene_ahci_hardreset() argument
410 rc = xgene_ahci_do_hardreset(link, deadline, &online); in xgene_ahci_hardreset()
439 * @deadline: deadline jiffies for the operation
449 unsigned long deadline) in xgene_ahci_pmp_softreset() argument
[all …]
H A Dlibata-sata.c217 * @deadline: deadline jiffies for the operation
226 * @timeout is further limited by @deadline. The sooner of the
236 unsigned long deadline) in sata_link_debounce() argument
245 if (time_before(t, deadline)) in sata_link_debounce()
246 deadline = t; in sata_link_debounce()
263 if (cur == 1 && time_before(jiffies, deadline)) in sata_link_debounce()
275 /* Check deadline. If debouncing failed, return in sata_link_debounce()
278 if (time_after(jiffies, deadline)) in sata_link_debounce()
288 * @deadline: deadline jiffies for the operation
299 unsigned long deadline) in sata_link_resume() argument
[all …]
H A Dahci_da850.c94 unsigned int *class, unsigned long deadline) in ahci_da850_softreset() argument
107 ret = ahci_do_softreset(link, class, pmp, deadline, ahci_check_ready); in ahci_da850_softreset()
110 deadline, ahci_check_ready); in ahci_da850_softreset()
116 unsigned int *class, unsigned long deadline) in ahci_da850_hardreset() argument
130 ret = ahci_do_hardreset(link, class, deadline, &online); in ahci_da850_hardreset()
H A Dpata_marvell.c57 * @deadline: deadline jiffies for the operation
62 static int marvell_pre_reset(struct ata_link *link, unsigned long deadline) in marvell_pre_reset() argument
71 return ata_sff_prereset(link, deadline); in marvell_pre_reset()
H A Dpata_ns87410.c21 * @deadline: deadline jiffies for the operation
26 static int ns87410_pre_reset(struct ata_link *link, unsigned long deadline) in ns87410_pre_reset() argument
38 return ata_sff_prereset(link, deadline); in ns87410_pre_reset()
H A Dpata_jmicron.c33 * @deadline: deadline jiffies for the operation
42 static int jmicron_pre_reset(struct ata_link *link, unsigned long deadline) in jmicron_pre_reset() argument
105 return ata_sff_prereset(link, deadline); in jmicron_pre_reset()
H A Dpata_opti.c49 * @deadline: deadline jiffies for the operation
54 static int opti_pre_reset(struct ata_link *link, unsigned long deadline) in opti_pre_reset() argument
66 return ata_sff_prereset(link, deadline); in opti_pre_reset()
H A Dpata_triflex.c38 * @deadline: deadline jiffies for the operation
43 static int triflex_prereset(struct ata_link *link, unsigned long deadline) in triflex_prereset() argument
56 return ata_sff_prereset(link, deadline); in triflex_prereset()
H A Dpata_amd.c126 * @deadline: deadline jiffies for the operation
132 static int amd_pre_reset(struct ata_link *link, unsigned long deadline) in amd_pre_reset() argument
145 return ata_sff_prereset(link, deadline); in amd_pre_reset()
324 * @deadline: deadline jiffies for the operation
330 static int nv_pre_reset(struct ata_link *link, unsigned long deadline) in nv_pre_reset() argument
343 return ata_sff_prereset(link, deadline); in nv_pre_reset()
/linux/include/trace/events/
H A Dlibata.h527 TP_PROTO(struct ata_link *link, unsigned int *class, unsigned long deadline),
529 TP_ARGS(link, class, deadline),
534 __field( unsigned long, deadline )
540 __entry->deadline = deadline;
543 TP_printk("ata_port=%u deadline=%lu classes=[%s,%s]",
544 __entry->ata_port, __entry->deadline,
550 TP_PROTO(struct ata_link *link, unsigned int *class, unsigned long deadline),
551 TP_ARGS(link, class, deadline));
554 TP_PROTO(struct ata_link *link, unsigned int *class, unsigned long deadline),
555 TP_ARGS(link, class, deadline));
[all …]
/linux/include/uapi/linux/
H A Dsync_file.h80 * struct sync_set_deadline - SYNC_IOC_SET_DEADLINE - set a deadline hint on a fence
81 * @deadline_ns: absolute time of the deadline
84 * Allows userspace to set a deadline on a fence, see &dma_fence_set_deadline
86 * The timebase for the deadline is CLOCK_MONOTONIC (same as vblank). For
/linux/tools/testing/selftests/kvm/x86_64/
H A Dvmx_preemption_timer_test.c210 pr_info("Stage %d: L1 PT expiry TSC (%lu) , L1 TSC deadline (%lu)\n", in main()
213 pr_info("Stage %d: L2 PT expiry TSC (%lu) , L2 TSC deadline (%lu)\n", in main()
217 "Stage %d: L1 PT expiry TSC (%lu) < L1 TSC deadline (%lu)", in main()
221 "Stage %d: L2 PT expiry TSC (%lu) > L2 TSC deadline (%lu)", in main()
/linux/fs/afs/
H A Dvalidation.c123 time64_t deadline = ktime_get_real_seconds() + 10; in afs_check_validity() local
129 atomic64_read(&vnode->cb_expires_at) <= deadline || in afs_check_validity()
130 volume->cb_expires_at <= deadline || in afs_check_validity()
386 time64_t deadline = ktime_get_real_seconds() + 10; in afs_validate() local
411 if (volume->cb_expires_at <= deadline || in afs_validate()
427 volume->cb_expires_at <= deadline || in afs_validate()
429 atomic64_read(&vnode->cb_expires_at) <= deadline in afs_validate()

12345678910