All of lore.kernel.org
 help / color / mirror / Atom feed
From: "Christian König" <christian.koenig@amd.com>
To: Luben Tuikov <luben.tuikov@amd.com>,
	AMD Graphics <amd-gfx@lists.freedesktop.org>
Cc: Felix Kuehling <Felix.Kuehling@amd.com>, James Zhu <James.Zhu@amd.com>
Subject: Re: [PATCH] drm/amdgpu: Fix minmax error
Date: Fri, 25 Nov 2022 08:45:07 +0100	[thread overview]
Message-ID: <3333dfb6-cc7b-ff6b-e416-62c07cf62740@amd.com> (raw)
In-Reply-To: <20221124211956.264282-1-luben.tuikov@amd.com>



Am 24.11.22 um 22:19 schrieb Luben Tuikov:
> Fix minmax compilation error by using min_t()/max_t(), of the assignment type.
>
> Cc: James Zhu <James.Zhu@amd.com>
> Cc: Felix Kuehling <Felix.Kuehling@amd.com>
> Fixes: 58170a7a002ad6 ("drm/amdgpu: fix stall on CPU when allocate large system memory")
> Signed-off-by: Luben Tuikov <luben.tuikov@amd.com>
> ---
>   drivers/gpu/drm/amd/amdgpu/amdgpu_hmm.c | 10 +++++++---
>   1 file changed, 7 insertions(+), 3 deletions(-)
>
> diff --git a/drivers/gpu/drm/amd/amdgpu/amdgpu_hmm.c b/drivers/gpu/drm/amd/amdgpu/amdgpu_hmm.c
> index 8a2e5716d8dba2..d22d14b0ef0c84 100644
> --- a/drivers/gpu/drm/amd/amdgpu/amdgpu_hmm.c
> +++ b/drivers/gpu/drm/amd/amdgpu/amdgpu_hmm.c
> @@ -191,14 +191,18 @@ int amdgpu_hmm_range_get_pages(struct mmu_interval_notifier *notifier,
>   	hmm_range->dev_private_owner = owner;
>   
>   	do {
> -		hmm_range->end = min(hmm_range->start + MAX_WALK_BYTE, end);
> +		hmm_range->end = min_t(typeof(hmm_range->end),
> +				       hmm_range->start + MAX_WALK_BYTE,
> +				       end);

Since end is a local variable I would strongly prefer to just have it 
use the correct type for it.

Otherwise we might end up using something which doesn't work on all 
architectures.

Regards,
Christian.

>   
>   		pr_debug("hmm range: start = 0x%lx, end = 0x%lx",
>   			hmm_range->start, hmm_range->end);
>   
>   		/* Assuming 512MB takes maxmium 1 second to fault page address */
> -		timeout = max((hmm_range->end - hmm_range->start) >> 29, 1ULL) *
> -			HMM_RANGE_DEFAULT_TIMEOUT;
> +		timeout = max_t(typeof(timeout),
> +				(hmm_range->end - hmm_range->start) >> 29,
> +				1ULL);
> +		timeout *= HMM_RANGE_DEFAULT_TIMEOUT;
>   		timeout = jiffies + msecs_to_jiffies(timeout);
>   
>   retry:
>
> base-commit: d5e8f4912061ad2e577b4909556e1364e2c2018e
> prerequisite-patch-id: 6024d0c36cae3e4a995a8fcf787b91f511a37486


  parent reply	other threads:[~2022-11-25  7:45 UTC|newest]

Thread overview: 12+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2022-11-24 21:19 [PATCH] drm/amdgpu: Fix minmax error Luben Tuikov
2022-11-24 22:04 ` James Zhu
2022-11-25  7:45 ` Christian König [this message]
2022-11-25  7:56   ` Luben Tuikov
2022-11-25  7:59     ` Christian König
2022-11-25  8:33       ` Luben Tuikov
2022-11-25  9:57         ` Christian König
2022-11-25 19:42           ` Luben Tuikov
2022-11-25 21:03             ` James Zhu
2022-11-26  3:19               ` Luben Tuikov
2022-11-26  5:25 Luben Tuikov
2022-11-26 14:00 ` Christian König

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=3333dfb6-cc7b-ff6b-e416-62c07cf62740@amd.com \
    --to=christian.koenig@amd.com \
    --cc=Felix.Kuehling@amd.com \
    --cc=James.Zhu@amd.com \
    --cc=amd-gfx@lists.freedesktop.org \
    --cc=luben.tuikov@amd.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.