All of lore.kernel.org
 help / color / mirror / Atom feed
From: "Christian König" <christian.koenig@amd.com>
To: "Marek Olšák" <maraeo@gmail.com>
Cc: "Marek Olšák" <marek.olsak@amd.com>, lepton <ytht.net@gmail.com>,
	"amd-gfx mailing list" <amd-gfx@lists.freedesktop.org>,
	"Bas Nieuwenhuizen" <bas@basnieuwenhuizen.nl>
Subject: Re: [PATCH] drm/amdgpu: Always align dumb buffer at PAGE_SIZE
Date: Mon, 26 Sep 2022 11:21:32 +0200	[thread overview]
Message-ID: <2feb4983-1258-e4de-4efd-9d90f6bafa7c@amd.com> (raw)
In-Reply-To: <CAAxE2A7jgTq_TiqK+V7aYPMd7rW2xATJSyVRcyRXpXreo3o4eQ@mail.gmail.com>

[-- Attachment #1: Type: text/plain, Size: 3921 bytes --]

I was thinking about that as well, yes.

Might be a good idea to just change the alignment check in 
amdgpu_bo_create():

                 /* Memory should be aligned at least to a page size. */
                 page_align = ALIGN(bp->byte_align, PAGE_SIZE) >> 
PAGE_SHIFT;


Something like ALIGN(bp->byte_align ?: 1, PAGE_SIZE) should already do it.

Christian.

Am 23.09.22 um 08:23 schrieb Marek Olšák:
> The kernel could report the true alignment from the ioctl instead of 0.
>
> Marek
>
> On Fri, Sep 23, 2022 at 1:31 AM Christian König 
> <christian.koenig@amd.com> wrote:
>
>     Am 23.09.22 um 07:28 schrieb lepton:
>     > On Thu, Sep 22, 2022 at 10:14 PM Christian König
>     > <christian.koenig@amd.com> wrote:
>     >> Am 23.09.22 um 01:04 schrieb Lepton Wu:
>     >>> Since size has been aligned to PAGE_SIZE already, just align it
>     >>> to PAGE_SIZE so later the buffer can be used as a texture in mesa
>     >>> after
>     https://nam11.safelinks.protection.outlook.com/?url=https%3A%2F%2Fcgit.freedesktop.org%2Fmesa%2Fmesa%2Fcommit%2F%3Fid%3Df7a4051b8&amp;data=05%7C01%7Cchristian.koenig%40amd.com%7C645f6878a7bd487588b708da9d246c4c%7C3dd8961fe4884e608e11a82d994e183d%7C0%7C0%7C637995077041120091%7CUnknown%7CTWFpbGZsb3d8eyJWIjoiMC4wLjAwMDAiLCJQIjoiV2luMzIiLCJBTiI6Ik1haWwiLCJXVCI6Mn0%3D%7C3000%7C%7C%7C&amp;sdata=NMEAl8TByDLQFWW1d%2FaJfiGrXc4mpwL5dxNH0M0QH84%3D&amp;reserved=0
>     <https://nam11.safelinks.protection.outlook.com/?url=https%3A%2F%2Fcgit.freedesktop.org%2Fmesa%2Fmesa%2Fcommit%2F%3Fid%3Df7a4051b8&data=05%7C01%7Cchristian.koenig%40amd.com%7C69c0881fd97d4de3380408da9d2c336b%7C3dd8961fe4884e608e11a82d994e183d%7C0%7C0%7C637995111117539790%7CUnknown%7CTWFpbGZsb3d8eyJWIjoiMC4wLjAwMDAiLCJQIjoiV2luMzIiLCJBTiI6Ik1haWwiLCJXVCI6Mn0%3D%7C3000%7C%7C%7C&sdata=KMiCYD7blJCjO9zcfsqmy9%2FfYbtAmMHbrwpzHP7F5O0%3D&reserved=0>
>     >>> Otherwise, si_texture_create_object will fail at line
>     >>> "buf->alignment < tex->surface.alignment"
>     >> I don't think that those Mesa checks are a good idea in the
>     first place.
>     >>
>     >> The alignment value is often specified as zero when it doesn't
>     matter
>     >> because the minimum alignment can never be less than the page size.
>     > Are you suggesting to change those mesa checks?
>
>     Yes, the minimum alignment of allocations is always 4096 because
>     that's
>     the page size of the GPU.
>
>     > While that can be
>     > done, I still think a kernel side "fix" is still
>     > useful since it doesn't hurt while can fix issues for some
>     versions of mesa.
>
>     No, we have tons of places where we don't specify and alignment for
>     buffers because it never mattered. I certainly don't want to fix
>     all of
>     those.
>
>     Regards,
>     Christian.
>
>     >> Christian.
>     >>
>     >>> Signed-off-by: Lepton Wu <ytht.net@gmail.com>
>     >>> ---
>     >>>    drivers/gpu/drm/amd/amdgpu/amdgpu_gem.c | 2 +-
>     >>>    1 file changed, 1 insertion(+), 1 deletion(-)
>     >>>
>     >>> diff --git a/drivers/gpu/drm/amd/amdgpu/amdgpu_gem.c
>     b/drivers/gpu/drm/amd/amdgpu/amdgpu_gem.c
>     >>> index 8ef31d687ef3b..8dca0c920d3ce 100644
>     >>> --- a/drivers/gpu/drm/amd/amdgpu/amdgpu_gem.c
>     >>> +++ b/drivers/gpu/drm/amd/amdgpu/amdgpu_gem.c
>     >>> @@ -928,7 +928,7 @@ int amdgpu_mode_dumb_create(struct
>     drm_file *file_priv,
>     >>>        args->size = ALIGN(args->size, PAGE_SIZE);
>     >>>        domain = amdgpu_bo_get_preferred_domain(adev,
>     >>> amdgpu_display_supported_domains(adev, flags));
>     >>> -     r = amdgpu_gem_object_create(adev, args->size, 0,
>     domain, flags,
>     >>> +     r = amdgpu_gem_object_create(adev, args->size,
>     PAGE_SIZE, domain, flags,
>     >>>  ttm_bo_type_device, NULL, &gobj);
>     >>>        if (r)
>     >>>                return -ENOMEM;
>

[-- Attachment #2: Type: text/html, Size: 6825 bytes --]

      reply	other threads:[~2022-09-26  9:21 UTC|newest]

Thread overview: 6+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2022-09-22 23:04 [PATCH] drm/amdgpu: Always align dumb buffer at PAGE_SIZE Lepton Wu
2022-09-23  5:14 ` Christian König
2022-09-23  5:28   ` lepton
2022-09-23  5:30     ` Christian König
2022-09-23  6:23       ` Marek Olšák
2022-09-26  9:21         ` Christian König [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=2feb4983-1258-e4de-4efd-9d90f6bafa7c@amd.com \
    --to=christian.koenig@amd.com \
    --cc=amd-gfx@lists.freedesktop.org \
    --cc=bas@basnieuwenhuizen.nl \
    --cc=maraeo@gmail.com \
    --cc=marek.olsak@amd.com \
    --cc=ytht.net@gmail.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.