All of lore.kernel.org
 help / color / mirror / Atom feed
From: Matthew Brost <matthew.brost@intel.com>
To: Jason Ekstrand <jason@jlekstrand.net>
Cc: Daniel Vetter <daniel.vetter@intel.com>,
	Intel GFX <intel-gfx@lists.freedesktop.org>,
	Maling list - DRI developers <dri-devel@lists.freedesktop.org>
Subject: Re: [Intel-gfx] [PATCH 9/9] drm/i915/doc: Add kernel doc for i915_sched_engine
Date: Fri, 4 Jun 2021 10:26:04 -0700	[thread overview]
Message-ID: <20210604172604.GA19273@sdutt-i7> (raw)
In-Reply-To: <CAOFGe97toNPXOhSP=PQrb4PNzYVLXOP7+tNY6B9qBMLSKrC0xw@mail.gmail.com>

On Fri, Jun 04, 2021 at 12:20:36PM -0500, Jason Ekstrand wrote:
> On Thu, Jun 3, 2021 at 4:09 PM Matthew Brost <matthew.brost@intel.com> wrote:
> >
> > 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.
> > + */
> 
> Why is this its own patch?  The above comment would be nice to have in
> patch 1/9 and the kref could be documented there too.
> 

I thought it make the review easier? Either way, can squash this patch into the
previous 8 as needed in next rev.

Matt

> >  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

WARNING: multiple messages have this Message-ID (diff)
From: Matthew Brost <matthew.brost@intel.com>
To: Jason Ekstrand <jason@jlekstrand.net>
Cc: Daniel Vetter <daniel.vetter@intel.com>,
	Intel GFX <intel-gfx@lists.freedesktop.org>,
	Maling list - DRI developers <dri-devel@lists.freedesktop.org>
Subject: Re: [Intel-gfx] [PATCH 9/9] drm/i915/doc: Add kernel doc for i915_sched_engine
Date: Fri, 4 Jun 2021 10:26:04 -0700	[thread overview]
Message-ID: <20210604172604.GA19273@sdutt-i7> (raw)
In-Reply-To: <CAOFGe97toNPXOhSP=PQrb4PNzYVLXOP7+tNY6B9qBMLSKrC0xw@mail.gmail.com>

On Fri, Jun 04, 2021 at 12:20:36PM -0500, Jason Ekstrand wrote:
> On Thu, Jun 3, 2021 at 4:09 PM Matthew Brost <matthew.brost@intel.com> wrote:
> >
> > 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.
> > + */
> 
> Why is this its own patch?  The above comment would be nice to have in
> patch 1/9 and the kref could be documented there too.
> 

I thought it make the review easier? Either way, can squash this patch into the
previous 8 as needed in next rev.

Matt

> >  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
_______________________________________________
Intel-gfx mailing list
Intel-gfx@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/intel-gfx

  reply	other threads:[~2021-06-04 17:33 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 ` [PATCH 9/9] drm/i915/doc: Add kernel doc for i915_sched_engine Matthew Brost
2021-06-03 21:27   ` [Intel-gfx] " Matthew Brost
2021-06-04 17:20   ` Jason Ekstrand
2021-06-04 17:20     ` Jason Ekstrand
2021-06-04 17:26     ` Matthew Brost [this message]
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=20210604172604.GA19273@sdutt-i7 \
    --to=matthew.brost@intel.com \
    --cc=daniel.vetter@intel.com \
    --cc=dri-devel@lists.freedesktop.org \
    --cc=intel-gfx@lists.freedesktop.org \
    --cc=jason@jlekstrand.net \
    /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: link
Be 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.