<div dir="auto"><div>The last 3 comments in this thread contain arguments that are false and were specifically pointed out as false 6 comments ago: Soft resets are just as fatal as hard resets. There is nothing better about soft resets. If the VRAM is lost completely, that's a different story, and if the hard reset is 100% unreliable, that's also a different story, but other than those two outliers, there is no difference between the two from the user point view. Both can repeatedly hang if you don't prevent the app that caused the hang from using the GPU even if the app is not robust. The robustness context type doesn't matter here. By definition, no guilty app can continue after a reset, and no innocent apps affected by a reset can continue either because those can now hang too. That's how destructive all resets are. Personal anecdotes that the soft reset is better are just that, anecdotes.</div><div dir="auto"><br></div><div dir="auto">Marek</div><div dir="auto"><br><div class="gmail_quote" dir="auto"><div dir="ltr" class="gmail_attr">On Tue, Apr 25, 2023, 08:44 Christian König <<a href="mailto:christian.koenig@amd.com" rel="noreferrer noreferrer" target="_blank">christian.koenig@amd.com</a>> wrote:<br></div><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">Am 25.04.23 um 14:14 schrieb Michel Dänzer:<br>
> On 4/25/23 14:08, Christian König wrote:<br>
>> Well signaling that something happened is not the question. We do this for both soft as well as hard resets.<br>
>><br>
>> The question is if errors result in blocking further submissions with the same context or not.<br>
>><br>
>> In case of a hard reset and potential loss of state we have to kill the context, otherwise a follow up submission would just lockup the hardware once more.<br>
>><br>
>> In case of a soft reset I think we can keep the context alive, this way even applications without robustness handling can keep work.<br>
>><br>
>> You potentially still get some corruption, but at least not your compositor killed.<br>
> Right, and if there is corruption, the user can restart the session.<br>
><br>
><br>
> Maybe a possible compromise could be making soft resets fatal if user space enabled robustness for the context, and non-fatal if not.<br>
<br>
Well that should already be mostly the case. If an application has <br>
enabled robustness it should notice that something went wrong and act <br>
appropriately.<br>
<br>
The only thing we need to handle is for applications without robustness <br>
in case of a hard reset or otherwise it will trigger an reset over and <br>
over again.<br>
<br>
Christian.<br>
<br>
><br>
><br>
>> Am 25.04.23 um 13:07 schrieb Marek Olšák:<br>
>>> That supposedly depends on the compositor. There may be compositors for very specific cases (e.g. Steam Deck) that handle resets very well, and those would like to be properly notified of all resets because that's how they get the best outcome, e.g. no corruption. A soft reset that is unhandled by userspace may result in persistent corruption.<br>
><br>
<br>
</blockquote></div></div></div>