From: Claude Code Review Bot <claude-review@example.com>
To: dri-devel-reviews@example.com
Subject: Claude review: drm/sched: Remove redundant entity->rq initialization and checks
Date: Thu, 04 Jun 2026 12:41:20 +1000 [thread overview]
Message-ID: <review-patch1-20260602153339.43453-1-tvrtko.ursulin@igalia.com> (raw)
In-Reply-To: <20260602153339.43453-1-tvrtko.ursulin@igalia.com>
Patch Review
**sched_entity.c — removal of `entity->rq = NULL` in init:**
Correct. The function does `memset(entity, 0, sizeof(struct drm_sched_entity))` at line 125 (which already zeroes `rq`), and then immediately sets `entity->rq = &sched_list[0]->rq` at line 138. The explicit NULL assignment is doubly redundant.
**sched_entity.c — removal of `!entity->rq` check in `drm_sched_entity_kill()`:**
Correct. After successful init, `entity->rq` is always non-NULL, and no code path sets it to NULL afterwards (confirmed by grep — the only `entity->rq = NULL` in the scheduler was the one being removed in init).
**sched_entity.c — removal of `!entity->rq` check in `drm_sched_entity_flush()`:**
Correct, and the refactoring to move the `sched` variable initialization to the declaration is clean:
```c
- struct drm_gpu_scheduler *sched;
+ struct drm_gpu_scheduler *sched =
+ container_of(entity->rq, typeof(*sched), rq);
```
This is safe since the early-return that guarded it is no longer needed.
**sched_main.c — removal of `!entity->rq` check in `drm_sched_job_init()`:**
Correct. As noted in the commit message, the error path's `dev_err(job->sched->dev, ...)` was buggy — `job->sched` is uninitialized at that point (only set in `drm_sched_job_arm()`), and even the `memset(job, 0, sizeof(*job))` runs *after* this check. If this dead code ever executed, it would dereference garbage memory rather than printing a useful diagnostic.
**Minor issue — stale kdoc:** The function comment for `drm_sched_job_init()` (lines 579–582 in the current tree) contains:
```c
* WARNING: amdgpu abuses &drm_sched.ready to signal when the hardware
* has died, which can mean that there's no valid runqueue for a @entity.
* This function returns -ENOENT in this case (which probably should be -EIO as
* a more meanigful return value).
```
After this patch, `drm_sched_job_init()` no longer returns `-ENOENT` at all. This WARNING should be removed or updated in the same patch to avoid a misleading kdoc comment.
**Verdict:** Patch is correct. The one piece of feedback is to also clean up the now-stale WARNING in the `drm_sched_job_init()` kdoc.
---
Generated by Claude Code Patch Reviewer
prev parent reply other threads:[~2026-06-04 2:41 UTC|newest]
Thread overview: 5+ messages / expand[flat|nested] mbox.gz Atom feed top
2026-06-02 15:33 [PATCH] drm/sched: Remove redundant entity->rq initialization and checks Tvrtko Ursulin
2026-06-03 8:37 ` Philipp Stanner
2026-06-03 9:14 ` Tvrtko Ursulin
2026-06-04 2:41 ` Claude review: " Claude Code Review Bot
2026-06-04 2:41 ` Claude Code Review Bot [this message]
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=review-patch1-20260602153339.43453-1-tvrtko.ursulin@igalia.com \
--to=claude-review@example.com \
--cc=dri-devel-reviews@example.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 a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox