Re: AW: [RFC 00/14] Deadline scheduler and other ideas

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



On Mon, 2025-01-06 at 14:47 +0100, Simona Vetter wrote:
> On Fri, Jan 03, 2025 at 03:16:56PM +0000, Koenig, Christian wrote:
> > [AMD Official Use Only - AMD Internal Distribution Only]
> > 
> > Could you send that whole patch set to me once more?
> > 
> > The AMD mails servers seem to have had a hickup over the holidays
> > and
> > all mails received between ~25.12.2024 and 1.1.2025 are somehow
> > mangled.
> 
> I seem to have the same issue with fetching from lore.o.k, despite
> that
> the archives seem to be complete. No idea what's happened.

I could pull it just fine with b4

P.

> -Sima
> 
> > 
> > Thanks in advance,
> > Christian.
> > 
> > ________________________________________
> > Von: Tvrtko Ursulin <tursulin@xxxxxxxxxx>
> > Gesendet: Montag, 30. Dezember 2024 17:52
> > An: dri-devel@xxxxxxxxxxxxxxxxxxxxx
> > Cc: kernel-dev@xxxxxxxxxx; Tvrtko Ursulin; Koenig, Christian;
> > Danilo Krummrich; Matthew Brost; Philipp Stanner
> > Betreff: [RFC 00/14] Deadline scheduler and other ideas
> > 
> > From: Tvrtko Ursulin <tvrtko.ursulin@xxxxxxxxxx>
> > 
> > <tldr>
> > Replacing FIFO with a flavour of deadline driven scheduling and
> > removing round-
> > robin. Connecting the scheduler with dma-fence deadlines. First
> > draft and
> > testing by different drivers and feedback would be nice. I was only
> > able to test
> > it with amdgpu. Other drivers may not even compile.
> > </tldr>
> > 
> > If I remember correctly Christian mentioned recently (give or take)
> > that maybe
> > round-robin could be removed. That got me thinking how and what
> > could be
> > improved and simplified. So I played a bit in the scheduler code
> > and came up
> > with something which appears to not crash at least. Whether or not
> > there are
> > significant advantages apart from maybe code consolidation and
> > reduction is the
> > main thing to be determined.
> > 
> > One big question is whether round-robin can really be removed. Does
> > anyone use
> > it, rely on it, or what are even use cases where it is much better
> > than FIFO.
> > 
> > See "drm/sched: Add deadline policy" commit message for a short
> > description on
> > what flavour of deadline scheduling it is. But in essence it should
> > a more fair
> > FIFO where higher priority can not forever starve lower priorities.
> > 
> > "drm/sched: Connect with dma-fence deadlines" wires up dma-fence
> > deadlines to
> > the scheduler because it is easy and makes logical sense with this.
> > And I
> > noticed userspace already uses it so why not wire it up fully.
> > 
> > Otherwise the series is a bit of progression from consolidating RR
> > into FIFO
> > code paths and going from there to deadline and then to a change in
> > how
> > dependencies are handled. And code simplification to 1:1 run queue
> > to scheduler
> > relationship, because deadline does not need per priority run
> > queues.
> > 
> > There is quite a bit of code to go throught here so I think it
> > could be even
> > better if other drivers could give it a spin as is and see if some
> > improvements
> > can be detected. Or at least no regressions.
> > 
> > Cc: Christian König <christian.koenig@xxxxxxx>
> > Cc: Danilo Krummrich <dakr@xxxxxxxxxx>
> > Cc: Matthew Brost <matthew.brost@xxxxxxxxx>
> > Cc: Philipp Stanner <pstanner@xxxxxxxxxx>
> > 
> > Tvrtko Ursulin (14):
> >   drm/sched: Delete unused update_job_credits
> >   drm/sched: Remove idle entity from tree
> >   drm/sched: Implement RR via FIFO
> >   drm/sched: Consolidate entity run queue management
> >   drm/sched: Move run queue related code into a separate file
> >   drm/sched: Ignore own fence earlier
> >   drm/sched: Resolve same scheduler dependencies earlier
> >   drm/sched: Add deadline policy
> >   drm/sched: Remove FIFO and RR and simplify to a single run queue
> >   drm/sched: Queue all free credits in one worker invocation
> >   drm/sched: Connect with dma-fence deadlines
> >   drm/sched: Embed run queue singleton into the scheduler
> >   dma-fence: Add helper for custom fence context when merging
> > fences
> >   drm/sched: Resolve all job dependencies in one go
> > 
> >  drivers/dma-buf/dma-fence-unwrap.c          |   8 +-
> >  drivers/gpu/drm/amd/amdgpu/amdgpu_cs.c      |   6 +-
> >  drivers/gpu/drm/amd/amdgpu/amdgpu_job.c     |  27 +-
> >  drivers/gpu/drm/amd/amdgpu/amdgpu_job.h     |   5 +-
> >  drivers/gpu/drm/amd/amdgpu/amdgpu_trace.h   |   8 +-
> >  drivers/gpu/drm/amd/amdgpu/amdgpu_vm_sdma.c |   8 +-
> >  drivers/gpu/drm/amd/amdgpu/amdgpu_xcp.c     |   8 +-
> >  drivers/gpu/drm/scheduler/Makefile          |   2 +-
> >  drivers/gpu/drm/scheduler/sched_entity.c    | 316 ++++++-----
> >  drivers/gpu/drm/scheduler/sched_fence.c     |   5 +-
> >  drivers/gpu/drm/scheduler/sched_main.c      | 587 +++++-----------
> > ----
> >  drivers/gpu/drm/scheduler/sched_rq.c        | 199 +++++++
> >  include/drm/gpu_scheduler.h                 |  74 ++-
> >  include/linux/dma-fence-unwrap.h            |  31 +-
> >  14 files changed, 606 insertions(+), 678 deletions(-)
> >  create mode 100644 drivers/gpu/drm/scheduler/sched_rq.c
> > 
> > --
> > 2.47.1
> > 
> 





[Index of Archives]     [Linux DRI Users]     [Linux Intel Graphics]     [Linux USB Devel]     [Video for Linux]     [Linux Audio Users]     [Yosemite News]     [Linux Kernel]     [Linux SCSI]     [XFree86]     [Linux USB Devel]     [Video for Linux]     [Linux Audio Users]     [Linux Kernel]     [Linux SCSI]     [XFree86]
  Powered by Linux