[<prev] [next>] [<thread-prev] [day] [month] [year] [list]
Message-ID: <cb3d2590-a1f8-fe7e-0bba-638ee80719af@amd.com>
Date: Tue, 2 May 2023 09:59:22 +0200
From: Christian König <christian.koenig@....com>
To: André Almeida <andrealmeid@...lia.com>,
Alex Deucher <alexdeucher@...il.com>
Cc: dri-devel@...ts.freedesktop.org, amd-gfx@...ts.freedesktop.org,
linux-kernel@...r.kernel.org, pierre-eric.pelloux-prayer@....com,
Marek Olšák <maraeo@...il.com>,
Timur Kristóf <timur.kristof@...il.com>,
michel.daenzer@...lbox.org,
Samuel Pitoiset <samuel.pitoiset@...il.com>,
kernel-dev@...lia.com, Bas Nieuwenhuizen <bas@...nieuwenhuizen.nl>,
alexander.deucher@....com
Subject: Re: [RFC PATCH 0/1] Add AMDGPU_INFO_GUILTY_APP ioctl
Am 02.05.23 um 03:26 schrieb André Almeida:
> Em 01/05/2023 16:24, Alex Deucher escreveu:
>> On Mon, May 1, 2023 at 2:58 PM André Almeida <andrealmeid@...lia.com>
>> wrote:
>>>
>>> I know that devcoredump is also used for this kind of information,
>>> but I believe
>>> that using an IOCTL is better for interfacing Mesa + Linux rather
>>> than parsing
>>> a file that its contents are subjected to be changed.
>>
>> Can you elaborate a bit on that? Isn't the whole point of devcoredump
>> to store this sort of information?
>>
>
> I think that devcoredump is something that you could use to submit to
> a bug report as it is, and then people can read/parse as they want,
> not as an interface to be read by Mesa... I'm not sure that it's
> something that I would call an API. But I might be wrong, if you know
> something that uses that as an API please share.
>
> Anyway, relying on that for Mesa would mean that we would need to
> ensure stability for the file content and format, making it less
> flexible to modify in the future and probe to bugs, while the IOCTL is
> well defined and extensible. Maybe the dump from Mesa + devcoredump
> could be complementary information to a bug report.
Neither using an IOCTL nor devcoredump is a good approach for this since
the values read from the hw register are completely unreliable. They
could not be available because of GFXOFF or they could be overwritten or
not even updated by the CP in the first place because of a hang etc....
If you want to track progress inside an IB what you do instead is to
insert intermediate fence write commands into the IB. E.g. something
like write value X to location Y when this executes.
This way you can not only track how far the IB processed, but also in
which stages of processing we where when the hang occurred. E.g. End of
Pipe, End of Shaders, specific shader stages etc...
Regards,
Christian.
Powered by blists - more mailing lists