|
XenevaOS
|
#include <gpu_scheduler.h>

Public Attributes | |
| struct dma_fence | scheduled |
| struct dma_fence | finished |
| ktime_t | deadline |
| struct dma_fence * | parent |
| struct drm_gpu_scheduler * | sched |
| spinlock_t | lock |
| void * | owner |
| uint64_t | drm_client_id |
struct drm_sched_fence - fences corresponding to the scheduling of a job.
| ktime_t drm_sched_fence::deadline |
@deadline: deadline set on &drm_sched_fence.finished which potentially needs to be propagated to &drm_sched_fence.parent
| uint64_t drm_sched_fence::drm_client_id |
@drm_client_id:
The client_id of the drm_file which owns the job.
| struct dma_fence drm_sched_fence::finished |
@finished: this fence is what will be signaled by the scheduler when the job is completed.
When setting up an out fence for the job, you should use this, since it's available immediately upon drm_sched_job_init(), and the fence returned by the driver from run_job() won't be created until the dependencies have resolved.
| spinlock_t drm_sched_fence::lock |
@lock: the lock used by the scheduled and the finished fences.
| void* drm_sched_fence::owner |
@owner: job owner for debugging
| struct dma_fence* drm_sched_fence::parent |
@parent: the fence returned by &drm_sched_backend_ops.run_job when scheduling the job on hardware. We signal the &drm_sched_fence.finished fence once parent is signalled.
| struct drm_gpu_scheduler* drm_sched_fence::sched |
@sched: the scheduler instance to which the job having this struct belongs to.
| struct dma_fence drm_sched_fence::scheduled |
@scheduled: this fence is what will be signaled by the scheduler when the job is scheduled.