All of lore.kernel.org
 help / color / mirror / Atom feed
From: "Christian König" <christian.koenig@amd.com>
To: Tvrtko Ursulin <tvrtko.ursulin@igalia.com>,
	dri-devel@lists.freedesktop.org
Cc: kernel-dev@igalia.com, Danilo Krummrich <dakr@redhat.com>,
	Matthew Brost <matthew.brost@intel.com>,
	Philipp Stanner <pstanner@redhat.com>
Subject: Re: [RFC 10/18] drm/sched: Implement RR via FIFO
Date: Thu, 9 Jan 2025 15:12:14 +0100	[thread overview]
Message-ID: <b9abe236-fd01-45eb-873f-e458dfc0b0ee@amd.com> (raw)
In-Reply-To: <218feab1-f8a8-43cc-a23c-01e31e59a2b2@igalia.com>

Am 09.01.25 um 14:27 schrieb Tvrtko Ursulin:
> [SNIP]
>>> @@ -259,7 +258,7 @@ struct drm_sched_rq {
>>>       spinlock_t            lock;
>>>       /* Following members are protected by the @lock: */
>>> -    struct drm_sched_entity        *current_entity;
>>> +    ktime_t                rr_deadline;
>>>       struct list_head        entities;
>>
>> If I'm not completely mistaken you can now also nuke this entities 
>> list if you haven't already removed all users.
>
> I had a version which did that too. But then I dropped it in favour of 
> only keeping entities with queued jobs in the tree. (Before both the 
> list and the tree contained entities which submitted at least one job 
> in the past.)
>
> I kind of like keeping the tree trimmed (would it lower the rb tree 
> re-balancing costs?) in which case the full list is needed for that 
> karma processing business.

Well, is anybody still using this karma stuff (maybe amdgpu, but we 
could drop that)? That as well turned out to be a quite broken approach.

Basically the idea behind karma was that on a crash you re-submit the 
same job over and over again until it either doesn't crash any more or 
your karma became to bad.

And when you now think of what Einstein once said about insanity then 
yeah that was also my first thought when I learned about that :)

Cheers,
Christian.

>
> Regards,
>
> Tvrtko
>
>>
>> Regards,
>> Christian.
>>
>>>       struct rb_root_cached rb_tree_root;
>>>   };
>>


  reply	other threads:[~2025-01-09 14:12 UTC|newest]

Thread overview: 40+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2025-01-08 18:35 [RFC v2 00/18] Deadline scheduler and other ideas Tvrtko Ursulin
2025-01-08 18:35 ` [RFC 01/18] drm/amdgpu: Use DRM scheduler API in amdgpu_xcp_release_sched Tvrtko Ursulin
2025-01-09 12:30   ` Christian König
2025-01-10 10:51     ` Tvrtko Ursulin
2025-01-10 14:48       ` Alex Deucher
2025-01-08 18:35 ` [RFC 02/18] drm/sched: Delete unused update_job_credits Tvrtko Ursulin
2025-01-08 18:35 ` [RFC 03/18] drm/sched: Remove one local variable Tvrtko Ursulin
2025-01-09 12:49   ` Christian König
2025-01-09 13:20     ` Tvrtko Ursulin
2025-01-09 14:17       ` Christian König
2025-01-09 16:13         ` Tvrtko Ursulin
2025-01-08 18:35 ` [RFC 04/18] drm/sched: Remove weak paused submission checks Tvrtko Ursulin
2025-01-08 18:35 ` [RFC 05/18] drm/sched: Avoid double re-lock on the job free path Tvrtko Ursulin
2025-01-08 18:35 ` [RFC 06/18] drm/sched: Add helper to check job dependencies Tvrtko Ursulin
2025-01-10 16:38   ` Matt Coster
2025-01-08 18:35 ` [RFC 07/18] drm/imagination: Use the drm_sched_job_has_dependency helper Tvrtko Ursulin
2025-01-10 16:39   ` Matt Coster
2025-01-13 10:32     ` Tvrtko Ursulin
2025-01-08 18:35 ` [RFC 08/18] drm/sched: Clarify locked section in drm_sched_rq_select_entity_fifo Tvrtko Ursulin
2025-01-08 18:35 ` [RFC 09/18] drm/sched: Remove idle entity from tree Tvrtko Ursulin
2025-01-08 18:35 ` [RFC 10/18] drm/sched: Implement RR via FIFO Tvrtko Ursulin
2025-01-09 12:59   ` Christian König
2025-01-09 13:27     ` Tvrtko Ursulin
2025-01-09 14:12       ` Christian König [this message]
2025-01-10 11:00         ` Tvrtko Ursulin
2025-01-08 18:35 ` [RFC 11/18] drm/sched: Consolidate entity run queue management Tvrtko Ursulin
2025-01-08 18:35 ` [RFC 12/18] drm/sched: Move run queue related code into a separate file Tvrtko Ursulin
2025-01-09 13:02   ` Christian König
2025-01-09 13:35     ` Tvrtko Ursulin
2025-01-08 18:35 ` [RFC 13/18] drm/sched: Add deadline policy Tvrtko Ursulin
2025-01-08 18:35 ` [RFC 14/18] drm/sched: Remove FIFO and RR and simplify to a single run queue Tvrtko Ursulin
2025-01-09 13:04   ` Christian König
2025-01-08 18:35 ` [RFC 15/18] drm/sched: Queue all free credits in one worker invocation Tvrtko Ursulin
2025-01-08 18:35 ` [RFC 16/18] drm/sched: Connect with dma-fence deadlines Tvrtko Ursulin
2025-01-09 13:07   ` Christian König
2025-01-09 13:41     ` Tvrtko Ursulin
2025-01-09 13:51       ` Christian König
2025-01-09 16:03         ` Tvrtko Ursulin
2025-01-08 18:35 ` [RFC 17/18] drm/sched: Embed run queue singleton into the scheduler Tvrtko Ursulin
2025-01-08 18:35 ` [RFC 18/18] drm/sched: Scale deadlines depending on queue depth Tvrtko Ursulin

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=b9abe236-fd01-45eb-873f-e458dfc0b0ee@amd.com \
    --to=christian.koenig@amd.com \
    --cc=dakr@redhat.com \
    --cc=dri-devel@lists.freedesktop.org \
    --cc=kernel-dev@igalia.com \
    --cc=matthew.brost@intel.com \
    --cc=pstanner@redhat.com \
    --cc=tvrtko.ursulin@igalia.com \
    /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.