From: Matthew Brost <matthew.brost@intel.com> To: <intel-gfx@lists.freedesktop.org>, <dri-devel@lists.freedesktop.org> Cc: daniel.vetter@intel.com, daniele.ceraolospurio@intel.com Subject: [PATCH 9/9] drm/i915/doc: Add kernel doc for i915_sched_engine Date: Thu, 3 Jun 2021 14:27:22 -0700 [thread overview] Message-ID: <20210603212722.59719-10-matthew.brost@intel.com> (raw) In-Reply-To: <20210603212722.59719-1-matthew.brost@intel.com> Signed-off-by: Matthew Brost <matthew.brost@intel.com> --- Documentation/gpu/i915.rst | 6 ++++ drivers/gpu/drm/i915/i915_scheduler_types.h | 37 ++++++++++++++++++--- 2 files changed, 38 insertions(+), 5 deletions(-) diff --git a/Documentation/gpu/i915.rst b/Documentation/gpu/i915.rst index 42ce0196930a..8f4f5471a05b 100644 --- a/Documentation/gpu/i915.rst +++ b/Documentation/gpu/i915.rst @@ -425,6 +425,12 @@ User Batchbuffer Execution .. kernel-doc:: drivers/gpu/drm/i915/gem/i915_gem_execbuffer.c :doc: User command execution +Scheduling +---------- +.. kernel-doc:: drivers/gpu/drm/i915/i915_scheduler_types.h + :functions: i915_sched_engine + + Logical Rings, Logical Ring Contexts and Execlists -------------------------------------------------- diff --git a/drivers/gpu/drm/i915/i915_scheduler_types.h b/drivers/gpu/drm/i915/i915_scheduler_types.h index 9d79514450de..e3da7517853f 100644 --- a/drivers/gpu/drm/i915/i915_scheduler_types.h +++ b/drivers/gpu/drm/i915/i915_scheduler_types.h @@ -91,7 +91,21 @@ struct i915_dependency { &(rq__)->sched.signalers_list, \ signal_link) +/** + * sturct i915_sched_engine - scheduler engine + * + * A schedule engine represents a submission queue with different priority + * bands. It contains all the common state (relative to the backend) to queue, + * track, and submit a request. + * + * This object at the moment is quite i915 specific but will transition into a + * container for the drm_gpu_scheduler plus a few other variables once the i915 + * is integrated with the DRM scheduler. + */ struct i915_sched_engine { + /** + * @ref: reference count of schedule engine object + */ struct kref ref; /** @@ -100,11 +114,18 @@ struct i915_sched_engine { */ spinlock_t lock; + /** + * @requests: list of requests inflight on this schedule engine + */ struct list_head requests; - struct list_head hold; /* ready requests, but on hold */ /** - * @tasklet: softirq tasklet for bottom handler + * @hold: list of requests on hold. + */ + struct list_head hold; + + /** + * @tasklet: softirq tasklet for submission */ struct tasklet_struct tasklet; @@ -137,14 +158,20 @@ struct i915_sched_engine { */ bool no_priolist; - /* Back pointer to engine */ + /** + * @engine: back pointer to engine + */ struct intel_engine_cs *engine; - /* Kick backend */ + /** + * @kick_backed: kick back after a request's priority has changed + */ void (*kick_backend)(const struct i915_request *rq, int prio); - /* + /** + * @schedule: schedule function to adjust priority of request + * * Call when the priority on a request has changed and it and its * dependencies may need rescheduling. Note the request itself may * not be ready to run! -- 2.28.0
WARNING: multiple messages have this Message-ID (diff)
From: Matthew Brost <matthew.brost@intel.com> To: <intel-gfx@lists.freedesktop.org>, <dri-devel@lists.freedesktop.org> Cc: daniel.vetter@intel.com Subject: [Intel-gfx] [PATCH 9/9] drm/i915/doc: Add kernel doc for i915_sched_engine Date: Thu, 3 Jun 2021 14:27:22 -0700 [thread overview] Message-ID: <20210603212722.59719-10-matthew.brost@intel.com> (raw) In-Reply-To: <20210603212722.59719-1-matthew.brost@intel.com> Signed-off-by: Matthew Brost <matthew.brost@intel.com> --- Documentation/gpu/i915.rst | 6 ++++ drivers/gpu/drm/i915/i915_scheduler_types.h | 37 ++++++++++++++++++--- 2 files changed, 38 insertions(+), 5 deletions(-) diff --git a/Documentation/gpu/i915.rst b/Documentation/gpu/i915.rst index 42ce0196930a..8f4f5471a05b 100644 --- a/Documentation/gpu/i915.rst +++ b/Documentation/gpu/i915.rst @@ -425,6 +425,12 @@ User Batchbuffer Execution .. kernel-doc:: drivers/gpu/drm/i915/gem/i915_gem_execbuffer.c :doc: User command execution +Scheduling +---------- +.. kernel-doc:: drivers/gpu/drm/i915/i915_scheduler_types.h + :functions: i915_sched_engine + + Logical Rings, Logical Ring Contexts and Execlists -------------------------------------------------- diff --git a/drivers/gpu/drm/i915/i915_scheduler_types.h b/drivers/gpu/drm/i915/i915_scheduler_types.h index 9d79514450de..e3da7517853f 100644 --- a/drivers/gpu/drm/i915/i915_scheduler_types.h +++ b/drivers/gpu/drm/i915/i915_scheduler_types.h @@ -91,7 +91,21 @@ struct i915_dependency { &(rq__)->sched.signalers_list, \ signal_link) +/** + * sturct i915_sched_engine - scheduler engine + * + * A schedule engine represents a submission queue with different priority + * bands. It contains all the common state (relative to the backend) to queue, + * track, and submit a request. + * + * This object at the moment is quite i915 specific but will transition into a + * container for the drm_gpu_scheduler plus a few other variables once the i915 + * is integrated with the DRM scheduler. + */ struct i915_sched_engine { + /** + * @ref: reference count of schedule engine object + */ struct kref ref; /** @@ -100,11 +114,18 @@ struct i915_sched_engine { */ spinlock_t lock; + /** + * @requests: list of requests inflight on this schedule engine + */ struct list_head requests; - struct list_head hold; /* ready requests, but on hold */ /** - * @tasklet: softirq tasklet for bottom handler + * @hold: list of requests on hold. + */ + struct list_head hold; + + /** + * @tasklet: softirq tasklet for submission */ struct tasklet_struct tasklet; @@ -137,14 +158,20 @@ struct i915_sched_engine { */ bool no_priolist; - /* Back pointer to engine */ + /** + * @engine: back pointer to engine + */ struct intel_engine_cs *engine; - /* Kick backend */ + /** + * @kick_backed: kick back after a request's priority has changed + */ void (*kick_backend)(const struct i915_request *rq, int prio); - /* + /** + * @schedule: schedule function to adjust priority of request + * * Call when the priority on a request has changed and it and its * dependencies may need rescheduling. Note the request itself may * not be ready to run! -- 2.28.0 _______________________________________________ Intel-gfx mailing list Intel-gfx@lists.freedesktop.org https://lists.freedesktop.org/mailman/listinfo/intel-gfx
next prev parent reply other threads:[~2021-06-03 21:09 UTC|newest] Thread overview: 64+ messages / expand[flat|nested] mbox.gz Atom feed top 2021-06-03 21:27 [PATCH 0/9] Introduce i915_sched_engine object Matthew Brost 2021-06-03 21:27 ` [Intel-gfx] " Matthew Brost 2021-06-03 21:27 ` [PATCH 1/9] drm/i915: Move priolist to new " Matthew Brost 2021-06-03 21:27 ` [Intel-gfx] " Matthew Brost 2021-06-04 17:38 ` Jason Ekstrand 2021-06-04 17:38 ` [Intel-gfx] " Jason Ekstrand 2021-06-04 17:35 ` Matthew Brost 2021-06-04 17:35 ` [Intel-gfx] " Matthew Brost 2021-06-04 17:51 ` Jason Ekstrand 2021-06-04 17:51 ` [Intel-gfx] " Jason Ekstrand 2021-06-04 17:51 ` Matthew Brost 2021-06-04 17:51 ` [Intel-gfx] " Matthew Brost 2021-06-04 18:14 ` Jason Ekstrand 2021-06-04 18:14 ` [Intel-gfx] " Jason Ekstrand 2021-06-03 21:27 ` [PATCH 2/9] drm/i915: Add i915_sched_engine_is_empty function Matthew Brost 2021-06-03 21:27 ` [Intel-gfx] " Matthew Brost 2021-06-04 17:50 ` Jason Ekstrand 2021-06-04 17:50 ` Jason Ekstrand 2021-06-03 21:27 ` [PATCH 3/9] drm/i915: Add i915_sched_engine_reset_on_empty function Matthew Brost 2021-06-03 21:27 ` [Intel-gfx] " Matthew Brost 2021-06-04 18:31 ` Jason Ekstrand 2021-06-04 18:31 ` Jason Ekstrand 2021-06-04 18:49 ` Matthew Brost 2021-06-04 18:49 ` Matthew Brost 2021-06-03 21:27 ` [PATCH 4/9] drm/i915: Move active tracking to i915_sched_engine Matthew Brost 2021-06-03 21:27 ` [Intel-gfx] " Matthew Brost 2021-06-04 19:00 ` Jason Ekstrand 2021-06-04 19:00 ` [Intel-gfx] " Jason Ekstrand 2021-06-04 19:12 ` Matthew Brost 2021-06-04 19:12 ` [Intel-gfx] " Matthew Brost 2021-06-03 21:27 ` [PATCH 5/9] drm/i915: Move engine->schedule " Matthew Brost 2021-06-03 21:27 ` [Intel-gfx] " Matthew Brost 2021-06-04 19:03 ` Jason Ekstrand 2021-06-04 19:03 ` Jason Ekstrand 2021-06-04 20:06 ` Matthew Brost 2021-06-04 20:06 ` Matthew Brost 2021-06-03 21:27 ` [PATCH 6/9] drm/i915: Add kick_backend function " Matthew Brost 2021-06-03 21:27 ` [Intel-gfx] " Matthew Brost 2021-06-04 19:09 ` Jason Ekstrand 2021-06-04 19:09 ` [Intel-gfx] " Jason Ekstrand 2021-06-04 19:19 ` Matthew Brost 2021-06-04 19:19 ` [Intel-gfx] " Matthew Brost 2021-06-03 21:27 ` [PATCH 7/9] drm/i915: Update i915_scheduler to operate on i915_sched_engine Matthew Brost 2021-06-03 21:27 ` [Intel-gfx] " Matthew Brost 2021-06-04 19:17 ` Jason Ekstrand 2021-06-04 19:17 ` Jason Ekstrand 2021-06-04 19:14 ` Matthew Brost 2021-06-04 19:14 ` Matthew Brost 2021-06-03 21:27 ` [PATCH 8/9] drm/i915: Move submission tasklet to i915_sched_engine Matthew Brost 2021-06-03 21:27 ` [Intel-gfx] " Matthew Brost 2021-06-04 19:26 ` Jason Ekstrand 2021-06-04 19:26 ` [Intel-gfx] " Jason Ekstrand 2021-06-04 19:55 ` Matthew Brost 2021-06-04 19:55 ` [Intel-gfx] " Matthew Brost 2021-06-03 21:27 ` Matthew Brost [this message] 2021-06-03 21:27 ` [Intel-gfx] [PATCH 9/9] drm/i915/doc: Add kernel doc for i915_sched_engine Matthew Brost 2021-06-04 17:20 ` Jason Ekstrand 2021-06-04 17:20 ` Jason Ekstrand 2021-06-04 17:26 ` Matthew Brost 2021-06-04 17:26 ` Matthew Brost 2021-06-03 23:32 ` [Intel-gfx] ✗ Fi.CI.CHECKPATCH: warning for Introduce i915_sched_engine object (rev2) Patchwork 2021-06-03 23:37 ` [Intel-gfx] ✗ Fi.CI.DOCS: " Patchwork 2021-06-04 0:03 ` [Intel-gfx] ✓ Fi.CI.BAT: success " Patchwork 2021-06-04 2:03 ` [Intel-gfx] ✗ Fi.CI.IGT: failure " Patchwork
Reply instructions: You may reply publicly to this message via plain-text email using any one of the following methods: * Save the following mbox file, import it into your mail client, and reply-to-all from there: mbox Avoid top-posting and favor interleaved quoting: https://en.wikipedia.org/wiki/Posting_style#Interleaved_style * Reply using the --to, --cc, and --in-reply-to switches of git-send-email(1): git send-email \ --in-reply-to=20210603212722.59719-10-matthew.brost@intel.com \ --to=matthew.brost@intel.com \ --cc=daniel.vetter@intel.com \ --cc=daniele.ceraolospurio@intel.com \ --cc=dri-devel@lists.freedesktop.org \ --cc=intel-gfx@lists.freedesktop.org \ /path/to/YOUR_REPLY https://kernel.org/pub/software/scm/git/docs/git-send-email.html * If your mail client supports setting the In-Reply-To header via mailto: links, try the mailto: linkBe sure your reply has a Subject: header at the top and a blank line before the message body.
This is an external index of several public inboxes, see mirroring instructions on how to clone and mirror all data and code used by this external index.