From: Mario Limonciello <mario.limonciello@amd.com>
To: Lizhi Hou <lizhi.hou@amd.com>,
ogabbay@kernel.org, quic_jhugo@quicinc.com,
dri-devel@lists.freedesktop.org, karol.wachowski@linux.intel.com,
max.zhen@amd.com
Cc: Matthew Brost <matthew.brost@intel.com>,
Copilot <223556219+Copilot@users.noreply.github.com>
Subject: Re: [PATCH V1] accel/amdxdna: wait uninterruptibly for jobs in the HMM invalidate callback
Date: Thu, 15 Oct 2026 13:36:05 -0500 [thread overview]
Message-ID: <dc65d236-7733-449d-bfe3-5c81f8ca69b9@amd.com> (raw)
In-Reply-To: <20261015183248.3414119-1-lizhi.hou@amd.com>
On 10/15/26 13:32, Lizhi Hou wrote:
> From: Matthew Brost <matthew.brost@intel.com>
>
> aie2_hmm_invalidate() waits for the jobs using a BO before the CPU pages
> behind it are released, but does so interruptibly. When the task
> triggering the invalidation has a signal pending the wait returns
> -ERESTARTSYS immediately, the notifier completes and the pages can be
> freed or migrated while the device is still accessing them through the
> PASID.
>
> An MMU notifier cannot fail a blockable invalidation, so wait
> uninterruptibly. With MAX_SCHEDULE_TIMEOUT an uninterruptible wait
> cannot time out either, so drop the now dead error handling.
>
> Fixes: aac243092b70 ("accel/amdxdna: Add command execution")
> Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
Co-authored-by is not a valid tag. It should be:
Assisted-by: LLM
> Signed-off-by: Matthew Brost <matthew.brost@intel.com>
> Signed-off-by: Lizhi Hou <lizhi.hou@amd.com>
> ---
> drivers/accel/amdxdna/aie2_ctx.c | 16 ++++++----------
> 1 file changed, 6 insertions(+), 10 deletions(-)
>
> diff --git a/drivers/accel/amdxdna/aie2_ctx.c b/drivers/accel/amdxdna/aie2_ctx.c
> index 9c6b7353cbe9..84ab8a55b7ab 100644
> --- a/drivers/accel/amdxdna/aie2_ctx.c
> +++ b/drivers/accel/amdxdna/aie2_ctx.c
> @@ -1286,16 +1286,12 @@ int aie2_cmd_submit(struct amdxdna_hwctx *hwctx, struct amdxdna_sched_job *job,
> void aie2_hmm_invalidate(struct amdxdna_gem_obj *abo,
> unsigned long cur_seq)
> {
> - struct amdxdna_dev *xdna = to_xdna_dev(to_gobj(abo)->dev);
> - struct drm_gem_object *gobj = to_gobj(abo);
> - long ret;
> -
> - ret = dma_resv_wait_timeout(gobj->resv, DMA_RESV_USAGE_BOOKKEEP,
> - true, MAX_SCHEDULE_TIMEOUT);
> - if (!ret)
> - XDNA_ERR(xdna, "Failed to wait for bo, ret %ld", ret);
> - else if (ret == -ERESTARTSYS)
> - XDNA_DBG(xdna, "Wait for bo interrupted by signal");
> + /*
> + * The pages must not be released while the device may still access
> + * them, so this wait must be neither interruptible nor time limited.
> + */
> + dma_resv_wait_timeout(to_gobj(abo)->resv, DMA_RESV_USAGE_BOOKKEEP,
> + false, MAX_SCHEDULE_TIMEOUT);
> }
>
> int aie2_hwctx_heap_expand(struct amdxdna_hwctx *hwctx,
next prev parent reply other threads:[~2026-10-15 18:36 UTC|newest]
Thread overview: 3+ messages / expand[flat|nested] mbox.gz Atom feed top
2026-10-15 18:32 [PATCH V1] accel/amdxdna: wait uninterruptibly for jobs in the HMM invalidate callback Lizhi Hou
2026-10-15 18:36 ` Mario Limonciello [this message]
2026-10-15 18:45 ` sashiko-bot
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=dc65d236-7733-449d-bfe3-5c81f8ca69b9@amd.com \
--to=mario.limonciello@amd.com \
--cc=223556219+Copilot@users.noreply.github.com \
--cc=dri-devel@lists.freedesktop.org \
--cc=karol.wachowski@linux.intel.com \
--cc=lizhi.hou@amd.com \
--cc=matthew.brost@intel.com \
--cc=max.zhen@amd.com \
--cc=ogabbay@kernel.org \
--cc=quic_jhugo@quicinc.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.