All of lore.kernel.org
 help / color / mirror / Atom feed
From: "Michel Dänzer" <michel.daenzer@mailbox.org>
To: "Marek Olšák" <maraeo@gmail.com>,
	"Sebastian Wick" <sebastian.wick@redhat.com>
Cc: pierre-eric.pelloux-prayer@amd.com,
	"André Almeida" <andrealmeid@igalia.com>,
	"Timur Kristóf" <timur.kristof@gmail.com>,
	dri-devel@lists.freedesktop.org,
	"Randy Dunlap" <rdunlap@infradead.org>,
	linux-kernel@vger.kernel.org,
	"Samuel Pitoiset" <samuel.pitoiset@gmail.com>,
	"Pekka Paalanen" <ppaalanen@gmail.com>,
	amd-gfx@lists.freedesktop.org, kernel-dev@igalia.com,
	alexander.deucher@amd.com,
	"Pekka Paalanen" <pekka.paalanen@collabora.com>,
	christian.koenig@amd.com
Subject: Re: [PATCH v5 1/1] drm/doc: Document DRM device reset expectations
Date: Wed, 9 Aug 2023 09:35:10 +0200	[thread overview]
Message-ID: <3ca7a141-1385-351e-9186-00874e254165@mailbox.org> (raw)
In-Reply-To: <CAAxE2A48uybsU6DY+fLTzQ9K2b0Ln+SW6bt3capbGAGb7L8fvQ@mail.gmail.com>

On 8/8/23 19:03, Marek Olšák wrote:
> It's the same situation as SIGSEGV. A process can catch the signal,
> but if it doesn't, it gets killed. GL and Vulkan APIs give you a way
> to catch the GPU error and prevent the process termination. If you
> don't use the API, you'll get undefined behavior, which means anything
> can happen, including process termination.

Got a spec reference for that?

I know the spec allows process termination in response to e.g. out of bounds buffer access by the application (which corresponds to SIGSEGV). There are other causes for GPU hangs though, e.g. driver bugs. The ARB_robustness spec says:

    If the reset notification behavior is NO_RESET_NOTIFICATION_ARB,
    then the implementation will never deliver notification of reset
    events, and GetGraphicsResetStatusARB will always return
    NO_ERROR[fn1].
       [fn1: In this case it is recommended that implementations should
        not allow loss of context state no matter what events occur.
        However, this is only a recommendation, and cannot be relied
        upon by applications.]

No mention of process termination, that rather sounds to me like the GL implementation should do its best to keep the application running.


-- 
Earthling Michel Dänzer            |                  https://redhat.com
Libre software enthusiast          |         Mesa and Xwayland developer


WARNING: multiple messages have this Message-ID (diff)
From: "Michel Dänzer" <michel.daenzer@mailbox.org>
To: "Marek Olšák" <maraeo@gmail.com>,
	"Sebastian Wick" <sebastian.wick@redhat.com>
Cc: pierre-eric.pelloux-prayer@amd.com,
	"Samuel Pitoiset" <samuel.pitoiset@gmail.com>,
	"Randy Dunlap" <rdunlap@infradead.org>,
	"André Almeida" <andrealmeid@igalia.com>,
	"Pekka Paalanen" <ppaalanen@gmail.com>,
	linux-kernel@vger.kernel.org, amd-gfx@lists.freedesktop.org,
	"Timur Kristóf" <timur.kristof@gmail.com>,
	dri-devel@lists.freedesktop.org, kernel-dev@igalia.com,
	alexander.deucher@amd.com,
	"Pekka Paalanen" <pekka.paalanen@collabora.com>,
	christian.koenig@amd.com
Subject: Re: [PATCH v5 1/1] drm/doc: Document DRM device reset expectations
Date: Wed, 9 Aug 2023 09:35:10 +0200	[thread overview]
Message-ID: <3ca7a141-1385-351e-9186-00874e254165@mailbox.org> (raw)
In-Reply-To: <CAAxE2A48uybsU6DY+fLTzQ9K2b0Ln+SW6bt3capbGAGb7L8fvQ@mail.gmail.com>

On 8/8/23 19:03, Marek Olšák wrote:
> It's the same situation as SIGSEGV. A process can catch the signal,
> but if it doesn't, it gets killed. GL and Vulkan APIs give you a way
> to catch the GPU error and prevent the process termination. If you
> don't use the API, you'll get undefined behavior, which means anything
> can happen, including process termination.

Got a spec reference for that?

I know the spec allows process termination in response to e.g. out of bounds buffer access by the application (which corresponds to SIGSEGV). There are other causes for GPU hangs though, e.g. driver bugs. The ARB_robustness spec says:

    If the reset notification behavior is NO_RESET_NOTIFICATION_ARB,
    then the implementation will never deliver notification of reset
    events, and GetGraphicsResetStatusARB will always return
    NO_ERROR[fn1].
       [fn1: In this case it is recommended that implementations should
        not allow loss of context state no matter what events occur.
        However, this is only a recommendation, and cannot be relied
        upon by applications.]

No mention of process termination, that rather sounds to me like the GL implementation should do its best to keep the application running.


-- 
Earthling Michel Dänzer            |                  https://redhat.com
Libre software enthusiast          |         Mesa and Xwayland developer


  reply	other threads:[~2023-08-09  7:35 UTC|newest]

Thread overview: 88+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2023-06-27 13:23 [PATCH v5 1/1] drm/doc: Document DRM device reset expectations André Almeida
2023-06-27 13:23 ` André Almeida
2023-06-27 13:23 ` André Almeida
2023-06-27 16:09 ` Randy Dunlap
2023-06-27 16:09   ` Randy Dunlap
2023-06-27 16:09   ` Randy Dunlap
2023-06-27 17:47 ` Christian König
2023-06-27 17:47   ` Christian König
2023-06-27 17:47   ` Christian König
2023-06-27 21:17   ` André Almeida
2023-06-27 21:17     ` André Almeida
2023-06-27 21:17     ` André Almeida
2023-06-29 13:11     ` André Almeida
2023-06-29 13:11       ` André Almeida
2023-06-29 13:11       ` André Almeida
2023-06-27 18:57 ` Marek Olšák
2023-06-27 18:57   ` Marek Olšák
2023-06-27 21:31   ` André Almeida
2023-06-27 21:31     ` André Almeida
2023-06-27 21:31     ` André Almeida
2023-06-28  0:36     ` Marek Olšák
2023-06-28  0:36       ` Marek Olšák
2023-06-30 14:48 ` Sebastian Wick
2023-06-30 14:48   ` Sebastian Wick
2023-06-30 14:59   ` Alex Deucher
2023-06-30 14:59     ` Alex Deucher
2023-06-30 15:11     ` Michel Dänzer
2023-06-30 15:11       ` Michel Dänzer
2023-06-30 20:32       ` Marek Olšák
2023-06-30 20:32         ` Marek Olšák
2023-07-03  7:12         ` Michel Dänzer
2023-07-03  7:12           ` Michel Dänzer
2023-07-03  8:49           ` Pekka Paalanen
2023-07-03  8:49             ` Pekka Paalanen
2023-07-03 15:00             ` André Almeida
2023-07-03 15:00               ` André Almeida
2023-07-04  7:42               ` Pekka Paalanen
2023-07-04  7:42                 ` Pekka Paalanen
2023-07-04  2:34           ` Marek Olšák
2023-07-04  2:38             ` Randy Dunlap
2023-07-04  2:38               ` Randy Dunlap
2023-07-04  2:44               ` Marek Olšák
2023-07-04  2:48                 ` Randy Dunlap
2023-07-04  2:48                   ` Randy Dunlap
2023-07-04  7:54             ` Michel Dänzer
2023-07-04  7:54               ` Michel Dänzer
2023-07-05  6:30               ` Marek Olšák
2023-07-05  7:32                 ` Michel Dänzer
2023-07-05  7:32                   ` Michel Dänzer
2023-07-05 15:53                   ` Marek Olšák
2023-07-05 15:53                     ` Marek Olšák
2023-06-30 15:21     ` Sebastian Wick
2023-06-30 15:21       ` Sebastian Wick
2023-07-25  2:55 ` Non-robust apps and resets (was Re: [PATCH v5 1/1] drm/doc: Document DRM device reset expectations) André Almeida
2023-07-25  2:55   ` André Almeida
2023-07-25  2:55   ` André Almeida
2023-07-25  7:02   ` Simon Ser
2023-07-25  7:02     ` Simon Ser
2023-07-25  7:02     ` Simon Ser
2023-07-25  8:03   ` Michel Dänzer
2023-07-25  8:03     ` Michel Dänzer
2023-07-25 13:02     ` André Almeida
2023-07-25 13:02       ` André Almeida
2023-07-26  8:07       ` Michel Dänzer
2023-07-26  8:07         ` Michel Dänzer
2023-08-02  7:38         ` Marek Olšák
2023-08-02  7:38           ` Marek Olšák
2023-08-02  8:34           ` Michel Dänzer
2023-08-02  8:34             ` Michel Dänzer
2023-07-25 15:05     ` Marek Olšák
2023-07-25 15:05       ` Marek Olšák
2023-07-25 17:00       ` Michel Dänzer
2023-07-25 17:00         ` Michel Dänzer
2023-07-26  7:55         ` Timur Kristóf
2023-07-26  7:55           ` Timur Kristóf
2023-08-04 13:03 ` [PATCH v5 1/1] drm/doc: Document DRM device reset expectations Daniel Vetter
2023-08-04 13:03   ` Daniel Vetter
2023-08-04 13:03   ` Daniel Vetter
2023-08-08 12:13   ` Sebastian Wick
2023-08-08 17:03     ` Marek Olšák
2023-08-08 17:03       ` Marek Olšák
2023-08-08 17:03       ` Marek Olšák
2023-08-09  7:35       ` Michel Dänzer [this message]
2023-08-09  7:35         ` Michel Dänzer
2023-08-09 19:15         ` Marek Olšák
2023-08-09 19:15           ` Marek Olšák
2023-08-10  7:33           ` Michel Dänzer
2023-08-10  7:33             ` Michel Dänzer

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=3ca7a141-1385-351e-9186-00874e254165@mailbox.org \
    --to=michel.daenzer@mailbox.org \
    --cc=alexander.deucher@amd.com \
    --cc=amd-gfx@lists.freedesktop.org \
    --cc=andrealmeid@igalia.com \
    --cc=christian.koenig@amd.com \
    --cc=dri-devel@lists.freedesktop.org \
    --cc=kernel-dev@igalia.com \
    --cc=linux-kernel@vger.kernel.org \
    --cc=maraeo@gmail.com \
    --cc=pekka.paalanen@collabora.com \
    --cc=pierre-eric.pelloux-prayer@amd.com \
    --cc=ppaalanen@gmail.com \
    --cc=rdunlap@infradead.org \
    --cc=samuel.pitoiset@gmail.com \
    --cc=sebastian.wick@redhat.com \
    --cc=timur.kristof@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.