/linux/Documentation/scheduler/ |
H A D | sched-deadline.rst | 2 Deadline Task Scheduling 42 basically an implementation of the Earliest Deadline First (EDF) scheduling 54 "deadline", to schedule tasks. A SCHED_DEADLINE task should receive 56 these "runtime" microseconds are available within "deadline" microseconds 58 every time the task wakes up, the scheduler computes a "scheduling deadline" 61 earliest scheduling deadline is selected for execution). Notice that the 62 task actually receives "runtime" time units within "deadline" if a proper 69 algorithm selects the task with the earliest scheduling deadline as the one 78 "deadline", and "period" parameters; 80 - The state of the task is described by a "scheduling deadline", an [all...] |
H A D | sched-bwc.rst | 34 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 D | deadline.c | 3 * Deadline Scheduling Class (SCHED_DEADLINE) 5 * Earliest Deadline First (EDF) + Constant Bandwidth Server (CBS). 367 * A flag in the deadline scheduling entity (dl_non_contending) 416 * If this is a non-deadline task that has been boosted, in task_non_contending() 427 zerolag_time = dl_se->deadline - in task_non_contending() 477 * If this is a non-deadline task that has been boosted, in task_contending() 529 /* zero means no -deadline tasks */ in init_dl_rq() 584 * The list of pushable -deadline task is not a plist, like in 585 * sched_rt.c, it is an rb-tree with tasks ordered by deadline. 597 rq->dl.earliest_dl.next = p->dl.deadline; in enqueue_pushable_dl_task() 1811 inc_dl_deadline(struct dl_rq * dl_rq,u64 deadline) inc_dl_deadline() argument 1824 dec_dl_deadline(struct dl_rq * dl_rq,u64 deadline) dec_dl_deadline() argument 1849 u64 deadline = dl_se->deadline; inc_dl_tasks() local [all...] |
/linux/drivers/gpu/drm/msm/ |
H A D | msm_fence.c | 34 /* If deadline fence has already passed, nothing to do: */ in deadline_work() 132 static void msm_fence_set_deadline(struct dma_fence *fence, ktime_t deadline) in msm_fence_set_deadline() argument 143 ktime_before(deadline, fctx->next_deadline)) { in msm_fence_set_deadline() 144 fctx->next_deadline = deadline; in msm_fence_set_deadline() 149 * Set timer to trigger boost 3ms before deadline, or in msm_fence_set_deadline() 150 * if we are already less than 3ms before the deadline in msm_fence_set_deadline() 153 deadline = ktime_sub(deadline, ms_to_ktime(3)); in msm_fence_set_deadline() 155 if (ktime_after(now, deadline)) { in msm_fence_set_deadline() 159 hrtimer_start(&fctx->deadline_timer, deadline, in msm_fence_set_deadline() [all...] |
H A D | msm_fence.h | 62 /** next_deadline: Time of next deadline */ 68 * Fence value for next pending deadline. The deadline timer is
|
/linux/drivers/dma-buf/ |
H A D | sw_sync.c | 56 * 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 176 static void timeline_fence_set_deadline(struct dma_fence *fence, ktime_t deadline) in timeline_fence_set_deadline() argument 183 if (ktime_before(deadline, pt->deadline)) in timeline_fence_set_deadline() 184 pt->deadline = deadline; in timeline_fence_set_deadline() [all...] |
H A D | sync_debug.h | 58 * @deadline: the earliest fence deadline hint 64 ktime_t deadline; member
|
H A D | dma-fence.c | 934 * DOC: deadline hints 947 * * Workloads that interact with a periodic time based deadline, such as double 949 * missing a vblank deadline results in an *increase* in idle time on the GPU 954 * To this end, deadline hint(s) can be set on a &dma_fence via &dma_fence_set_deadline 956 * The deadline hint provides a way for the waiting driver, or userspace, to 959 * A deadline hint is given in absolute ktime (CLOCK_MONOTONIC for userspace 961 * the vblank based deadline for page-flipping, or the start of a compositor's 962 * composition cycle), or the current time to indicate an immediate deadline 968 * The deadline hint is just that, a hint. The driver that created the fence 974 * dma_fence_set_deadline - set desired fence-wait deadline hin 986 dma_fence_set_deadline(struct dma_fence * fence,ktime_t deadline) dma_fence_set_deadline() argument [all...] |
/linux/drivers/gpu/drm/scheduler/ |
H A D | sched_fence.c | 62 dma_fence_set_deadline(fence, s_fence->deadline); in drm_sched_fence_set_parent() 153 ktime_t deadline) in drm_sched_fence_set_deadline_finished() argument 161 /* If we already have an earlier deadline, keep it: */ in drm_sched_fence_set_deadline_finished() 163 ktime_before(fence->deadline, deadline)) { in drm_sched_fence_set_deadline_finished() 168 fence->deadline = deadline; in drm_sched_fence_set_deadline_finished() 180 dma_fence_set_deadline(parent, deadline); in drm_sched_fence_set_deadline_finished()
|
/linux/Documentation/block/ |
H A D | deadline-iosched.rst | 2 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 D | switching-sched.rst | 17 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 D | ahci_xgene.c | 114 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 449 xgene_ahci_pmp_softreset(struct ata_link * link,unsigned int * class,unsigned long deadline) xgene_ahci_pmp_softreset() argument 493 xgene_ahci_softreset(struct ata_link * link,unsigned int * class,unsigned long deadline) xgene_ahci_softreset() argument [all...] |
H A D | libata-sata.c | 217 * @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 299 sata_link_resume(struct ata_link * link,const unsigned int * params,unsigned long deadline) sata_link_resume() argument 625 sata_link_hardreset(struct ata_link * link,const unsigned int * timing,unsigned long deadline,bool * online,int (* check_ready)(struct ata_link *)) sata_link_hardreset() argument 724 sata_std_hardreset(struct ata_link * link,unsigned int * class,unsigned long deadline) sata_std_hardreset() argument [all...] |
H A D | ahci_da850.c | 94 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 D | pata_marvell.c | 57 * @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 D | pata_ns87410.c | 21 * @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 D | pata_jmicron.c | 33 * @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 D | pata_opti.c | 49 * @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 D | pata_triflex.c | 38 * @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 D | pata_acpi.c | 32 * @deadline: deadline jiffies for the operation 37 static int pacpi_pre_reset(struct ata_link *link, unsigned long deadline) in pacpi_pre_reset() argument 44 return ata_sff_prereset(link, deadline); in pacpi_pre_reset()
|
/linux/include/uapi/linux/ |
H A D | sync_file.h | 80 * 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/include/trace/events/ |
H A D | libata.h | 527 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), [all...] |
/linux/tools/testing/selftests/kvm/x86/ |
H A D | vmx_preemption_timer_test.c | 210 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/block/ |
H A D | Kconfig.iosched | 5 tristate "MQ deadline I/O scheduler" 8 MQ version of the deadline IO scheduler.
|
/linux/drivers/bcma/ |
H A D | driver_chipcommon_b.c | 17 unsigned long deadline = jiffies + timeout; in bcma_wait_reg() local 26 } while (!time_after_eq(jiffies, deadline)); in bcma_wait_reg()
|