From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.4.0 (2014-02-07) on aws-us-west-2-korg-lkml-1.web.codeaurora.org Received: from gabe.freedesktop.org (gabe.freedesktop.org [131.252.210.177]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by smtp.lore.kernel.org (Postfix) with ESMTPS id 80698C0015E for ; Wed, 9 Aug 2023 07:35:24 +0000 (UTC) Received: from gabe.freedesktop.org (localhost [127.0.0.1]) by gabe.freedesktop.org (Postfix) with ESMTP id E6D4C10E255; Wed, 9 Aug 2023 07:35:18 +0000 (UTC) Received: from mout-p-102.mailbox.org (mout-p-102.mailbox.org [IPv6:2001:67c:2050:0:465::102]) by gabe.freedesktop.org (Postfix) with ESMTPS id 7A1BC10E24C; Wed, 9 Aug 2023 07:35:16 +0000 (UTC) Received: from smtp202.mailbox.org (smtp202.mailbox.org [10.196.197.202]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange ECDHE (P-384) server-signature RSA-PSS (4096 bits) server-digest SHA256) (No client certificate requested) by mout-p-102.mailbox.org (Postfix) with ESMTPS id 4RLMKD6qZSz9v00; Wed, 9 Aug 2023 09:35:12 +0200 (CEST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=mailbox.org; s=mail20150812; t=1691566512; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding: in-reply-to:in-reply-to:references:references; bh=DEzjFcmaNxZugcucpOuDAjcZ34NVz+o1bZiw2+i32OM=; b=R29Dtl0S1qAUj0JAGUt5pGA9u6ILeV85p8T9JYHMhnC39jns2UGHKleZmk9QQkcRvBTO6p kZoX0MI7lTOEcraNsrKV+d+NLtyjTreUK8LAhKwxzmhY8mypZXp7PWl7OoBh1hOHG98qx2 /XrF/03v7niPWKnhZWewyn+1NIHMIG5qCKJKq0pYb9riQiP7Aqe/aLYPR4QHoGzRLYYSDX NaCkb/sNVuqyKCZpk2zu5K4dmiIET8vgHUaOQpIYvmcz+zoPMEzIdf/AbOijzqLA2e1upb 29G0gcGn6yxfM+fRNZlDaZku0TEPvK4f8AC44UMK+wC/VlhkWp9IihoJLNiwSg== Message-ID: <3ca7a141-1385-351e-9186-00874e254165@mailbox.org> Date: Wed, 9 Aug 2023 09:35:10 +0200 MIME-Version: 1.0 Subject: Re: [PATCH v5 1/1] drm/doc: Document DRM device reset expectations Content-Language: de-CH-frami, en-CA To: =?UTF-8?B?TWFyZWsgT2zFocOhaw==?= , Sebastian Wick References: <20230627132323.115440-1-andrealmeid@igalia.com> From: =?UTF-8?Q?Michel_D=c3=a4nzer?= In-Reply-To: Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-MBO-RS-ID: 2bdccb62d3f6edce11c X-MBO-RS-META: xh66k1zp6rbw13e8n5k4ceq5xbddgups X-BeenThere: amd-gfx@lists.freedesktop.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: Discussion list for AMD gfx List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Cc: pierre-eric.pelloux-prayer@amd.com, =?UTF-8?Q?Andr=c3=a9_Almeida?= , =?UTF-8?Q?Timur_Krist=c3=b3f?= , dri-devel@lists.freedesktop.org, Randy Dunlap , linux-kernel@vger.kernel.org, Samuel Pitoiset , Pekka Paalanen , amd-gfx@lists.freedesktop.org, kernel-dev@igalia.com, alexander.deucher@amd.com, Pekka Paalanen , christian.koenig@amd.com Errors-To: amd-gfx-bounces@lists.freedesktop.org Sender: "amd-gfx" 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 From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.4.0 (2014-02-07) on aws-us-west-2-korg-lkml-1.web.codeaurora.org Received: from vger.kernel.org (vger.kernel.org [23.128.96.18]) by smtp.lore.kernel.org (Postfix) with ESMTP id 4F30BEB64DD for ; Wed, 9 Aug 2023 07:35:23 +0000 (UTC) Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S230477AbjHIHfW (ORCPT ); Wed, 9 Aug 2023 03:35:22 -0400 Received: from lindbergh.monkeyblade.net ([23.128.96.19]:51872 "EHLO lindbergh.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S230291AbjHIHfU (ORCPT ); Wed, 9 Aug 2023 03:35:20 -0400 Received: from mout-p-102.mailbox.org (mout-p-102.mailbox.org [80.241.56.152]) by lindbergh.monkeyblade.net (Postfix) with ESMTPS id 3F4E7172A for ; Wed, 9 Aug 2023 00:35:19 -0700 (PDT) Received: from smtp202.mailbox.org (smtp202.mailbox.org [10.196.197.202]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange ECDHE (P-384) server-signature RSA-PSS (4096 bits) server-digest SHA256) (No client certificate requested) by mout-p-102.mailbox.org (Postfix) with ESMTPS id 4RLMKD6qZSz9v00; Wed, 9 Aug 2023 09:35:12 +0200 (CEST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=mailbox.org; s=mail20150812; t=1691566512; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding: in-reply-to:in-reply-to:references:references; bh=DEzjFcmaNxZugcucpOuDAjcZ34NVz+o1bZiw2+i32OM=; b=R29Dtl0S1qAUj0JAGUt5pGA9u6ILeV85p8T9JYHMhnC39jns2UGHKleZmk9QQkcRvBTO6p kZoX0MI7lTOEcraNsrKV+d+NLtyjTreUK8LAhKwxzmhY8mypZXp7PWl7OoBh1hOHG98qx2 /XrF/03v7niPWKnhZWewyn+1NIHMIG5qCKJKq0pYb9riQiP7Aqe/aLYPR4QHoGzRLYYSDX NaCkb/sNVuqyKCZpk2zu5K4dmiIET8vgHUaOQpIYvmcz+zoPMEzIdf/AbOijzqLA2e1upb 29G0gcGn6yxfM+fRNZlDaZku0TEPvK4f8AC44UMK+wC/VlhkWp9IihoJLNiwSg== Message-ID: <3ca7a141-1385-351e-9186-00874e254165@mailbox.org> Date: Wed, 9 Aug 2023 09:35:10 +0200 MIME-Version: 1.0 Subject: Re: [PATCH v5 1/1] drm/doc: Document DRM device reset expectations Content-Language: de-CH-frami, en-CA To: =?UTF-8?B?TWFyZWsgT2zFocOhaw==?= , Sebastian Wick Cc: pierre-eric.pelloux-prayer@amd.com, Samuel Pitoiset , Randy Dunlap , =?UTF-8?Q?Andr=c3=a9_Almeida?= , Pekka Paalanen , linux-kernel@vger.kernel.org, amd-gfx@lists.freedesktop.org, =?UTF-8?Q?Timur_Krist=c3=b3f?= , dri-devel@lists.freedesktop.org, kernel-dev@igalia.com, alexander.deucher@amd.com, Pekka Paalanen , christian.koenig@amd.com References: <20230627132323.115440-1-andrealmeid@igalia.com> From: =?UTF-8?Q?Michel_D=c3=a4nzer?= In-Reply-To: Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-MBO-RS-ID: 2bdccb62d3f6edce11c X-MBO-RS-META: xh66k1zp6rbw13e8n5k4ceq5xbddgups Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org 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