mirror of
https://github.com/AuxXxilium/linux_dsm_epyc7002.git
synced 2024-12-26 14:35:16 +07:00
8ee36e048c
If we have multiple contexts of equal priority pending execution, activate a timer to demote the currently executing context in favour of the next in the queue when that timeslice expires. This enforces fairness between contexts (so long as they allow preemption -- forced preemption, in the future, will kick those who do not obey) and allows us to avoid userspace blocking forward progress with e.g. unbounded MI_SEMAPHORE_WAIT. For the starting point here, we use the jiffie as our timeslice so that we should be reasonably efficient wrt frequent CPU wakeups. Testcase: igt/gem_exec_scheduler/semaphore-resolve Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk> Reviewed-by: Mika Kuoppala <mika.kuoppala@linux.intel.com> Link: https://patchwork.freedesktop.org/patch/msgid/20190620142052.19311-2-chris@chris-wilson.co.uk |
||
---|---|---|
.. | ||
intel_breadcrumbs.c | ||
intel_context_types.h | ||
intel_context.c | ||
intel_context.h | ||
intel_engine_cs.c | ||
intel_engine_pm.c | ||
intel_engine_pm.h | ||
intel_engine_types.h | ||
intel_engine.h | ||
intel_gpu_commands.h | ||
intel_gt_pm.c | ||
intel_gt_pm.h | ||
intel_hangcheck.c | ||
intel_lrc_reg.h | ||
intel_lrc.c | ||
intel_lrc.h | ||
intel_mocs.c | ||
intel_mocs.h | ||
intel_reset.c | ||
intel_reset.h | ||
intel_ringbuffer.c | ||
intel_sseu.c | ||
intel_sseu.h | ||
intel_workarounds_types.h | ||
intel_workarounds.c | ||
intel_workarounds.h | ||
Makefile | ||
Makefile.header-test | ||
mock_engine.c | ||
mock_engine.h | ||
selftest_engine_cs.c | ||
selftest_hangcheck.c | ||
selftest_lrc.c | ||
selftest_reset.c | ||
selftest_workarounds.c |