On Mon Jul 6, 2026 at 10:44 AM CEST, Philipp Stanner wrote:
> On Mon, 2026-06-29 at 14:09 +0200, Danilo Krummrich wrote:
>> > +  WRITE_ONCE(sched->ready, false);
>> 
>> Don't we need smp_store_release() here and
>> 
>> > +  return READ_ONCE(sched->ready);
>> smp_load_acquire() here?
>
> Maybe. Not sure what the precise access rules would be. To really get
> correctness, all counter-parties you found in amdgpu would have to
> remove their layering violations anyways, which is beyond my scope.

Fair enough, let's get it right in the core infrastructure then.

>> Also, what about drm_sched_init()? It also seems that this is accessed from
>> amdgpu without the drm_sched_wqueue_ready() helper about a million times. :)
>> 
>>      $ grep -Rin "sched\.ready" drivers/gpu/drm/amd | wc
>>      $     119     544   10320
>> 
>> There may be false positives, but from a quick glance at least most of them 
>> seem
>> to actually come from the scheduler.
>
> Correct.
>
> Your ordering comment hints at me that you would rather see the ready-
> flag be left as is, if it can't be made right 100% (which it can't).

No, the change makes sense. Getting it right in the core infrastructure is the
right thing to do, even if you don't want to fix up amdgpu.

Reply via email to