On Fri, Sep 6, 2024 at 10:18 AM Marek Olšák <maraeo@xxxxxxxxx> wrote: > > Can you also bump the DRM version, so that userspace knows when to > skip its own clear? Sure, although going forward, it might be better to migrate to a generic flags query in the INFO ioctl so we can just check for various feature bits so we can backport functionality to older kernels more easily. Alex > > Also, clearing with SDMA takes up to 33 times more time (= is up to > 97% slower) than clearing with compute. > > Marek > > On Thu, Aug 29, 2024 at 2:23 PM Paneer Selvam, Arunpravin > <arunpravin.paneerselvam@xxxxxxx> wrote: > > > > this will fix performance issues, > > Acked-by: Arunpravin Paneer Selvam <Arunpravin.PaneerSelvam@xxxxxxx> > > > > On 8/29/2024 10:56 PM, Alex Deucher wrote: > > > > This adds allocation latency, but aligns better with user > > expectations. The latency should improve with the drm buddy > > clearing patches that Arun has been working on. > > > > In addition this fixes the high CPU spikes seen when doing > > wipe on release. > > > > v2: always set AMDGPU_GEM_CREATE_VRAM_CLEARED (Christian) > > > > Closes: https://gitlab.freedesktop.org/drm/amd/-/issues/3528 > > Fixes: a68c7eaa7a8f ("drm/amdgpu: Enable clear page functionality") > > Reviewed-by: Michel Dänzer <mdaenzer@xxxxxxxxxx> (v1) > > Signed-off-by: Alex Deucher <alexander.deucher@xxxxxxx> > > Cc: Arunpravin Paneer Selvam <Arunpravin.PaneerSelvam@xxxxxxx> > > Cc: Christian König <christian.koenig@xxxxxxx> > > --- > > drivers/gpu/drm/amd/amdgpu/amdgpu_gem.c | 3 +++ > > 1 file changed, 3 insertions(+) > > > > diff --git a/drivers/gpu/drm/amd/amdgpu/amdgpu_gem.c b/drivers/gpu/drm/amd/amdgpu/amdgpu_gem.c > > index 1f149c9e2177..8794661b0bfa 100644 > > --- a/drivers/gpu/drm/amd/amdgpu/amdgpu_gem.c > > +++ b/drivers/gpu/drm/amd/amdgpu/amdgpu_gem.c > > @@ -349,6 +349,9 @@ int amdgpu_gem_create_ioctl(struct drm_device *dev, void *data, > > return -EINVAL; > > } > > > > + /* always clear VRAM */ > > + flags |= AMDGPU_GEM_CREATE_VRAM_CLEARED; > > + > > /* create a gem object to contain this object in */ > > if (args->in.domains & (AMDGPU_GEM_DOMAIN_GDS | > > AMDGPU_GEM_DOMAIN_GWS | AMDGPU_GEM_DOMAIN_OA)) { > > > >