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 9E939C433FE for ; Thu, 13 Jan 2022 17:00:06 +0000 (UTC) Received: from gabe.freedesktop.org (localhost [127.0.0.1]) by gabe.freedesktop.org (Postfix) with ESMTP id 07EA010E565; Thu, 13 Jan 2022 16:59:51 +0000 (UTC) Received: from mga01.intel.com (mga01.intel.com [192.55.52.88]) by gabe.freedesktop.org (Postfix) with ESMTPS id 0D7B810E29F; Thu, 13 Jan 2022 16:59:46 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=intel.com; i=@intel.com; q=dns/txt; s=Intel; t=1642093186; x=1673629186; h=from:to:cc:subject:date:message-id:in-reply-to: references:mime-version:content-transfer-encoding; bh=G9R7shW2zOAQmMJG+3XJqH2JXS+FN7zd0eIZMDSECBI=; b=MzJAVZpo3whkqJUAKaNu9PYi1t0V6kO5o/YZb9XYVg+a5cePnDFhIoMs OZQTAuc9LYtB56B86O1JFfnJytfbkHWWrpwMKlG1hc+arcFfVEUTZEZDI xmCy7O5wKhoPQ2Of9758mrHwU9d/1zr1uZVSNebGODNOxTayp542obzhw 0WG8JSkJ6U+mf+jpQtyvADGT/nyZjef2KVTR0e2hZb33LmUgw3wDL4ZgG oIwIKFzrGco4vZM0Vx88lJW1v7cYW2leKEIxKgmJf3arhLs6Th9k+aJIq 4sc/xVZQjQaFqeokr4MRESLGWcecjioddXlWf3k3aKXVtrOXVsTKx5vwI g==; X-IronPort-AV: E=McAfee;i="6200,9189,10225"; a="268409167" X-IronPort-AV: E=Sophos;i="5.88,286,1635231600"; d="scan'208";a="268409167" Received: from orsmga007.jf.intel.com ([10.7.209.58]) by fmsmga101.fm.intel.com with ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384; 13 Jan 2022 08:59:44 -0800 X-ExtLoop1: 1 X-IronPort-AV: E=Sophos;i="5.88,286,1635231600"; d="scan'208";a="515999148" Received: from relo-linux-5.jf.intel.com ([10.165.21.134]) by orsmga007.jf.intel.com with ESMTP; 13 Jan 2022 08:59:44 -0800 From: John.C.Harrison@Intel.com To: IGT-Dev@Lists.FreeDesktop.Org Date: Thu, 13 Jan 2022 08:59:31 -0800 Message-Id: <20220113165944.1414015-3-John.C.Harrison@Intel.com> X-Mailer: git-send-email 2.25.1 In-Reply-To: <20220113165944.1414015-1-John.C.Harrison@Intel.com> References: <20220113165944.1414015-1-John.C.Harrison@Intel.com> MIME-Version: 1.0 Organization: Intel Corporation (UK) Ltd. - Co. Reg. #1134945 - Pipers Way, Swindon SN3 1RJ Content-Transfer-Encoding: 8bit Subject: [Intel-gfx] [PATCH v2 i-g-t 02/15] lib/hang: Fix igt_require_hang_ring to work with all engines X-BeenThere: intel-gfx@lists.freedesktop.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: Intel graphics driver community testing & development List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Cc: Intel-GFX@Lists.FreeDesktop.Org Errors-To: intel-gfx-bounces@lists.freedesktop.org Sender: "Intel-gfx" From: John Harrison The above function was checking for valid rings via the old interface. The new scheme is to check for engines on contexts as there are now more engines than could be supported. Signed-off-by: John Harrison --- lib/igt_gt.c | 6 +++--- lib/igt_gt.h | 2 +- tests/i915/i915_hangman.c | 6 +++--- 3 files changed, 7 insertions(+), 7 deletions(-) diff --git a/lib/igt_gt.c b/lib/igt_gt.c index 7c7df95ee..50da512f2 100644 --- a/lib/igt_gt.c +++ b/lib/igt_gt.c @@ -122,12 +122,12 @@ static void eat_error_state(int dev) * to be done under hang injection. * Default: false */ -void igt_require_hang_ring(int fd, int ring) +void igt_require_hang_ring(int fd, uint32_t ctx, int ring) { if (!igt_check_boolean_env_var("IGT_HANG", true)) igt_skip("hang injection disabled by user [IGT_HANG=0]\n"); - gem_require_ring(fd, ring); + igt_require(gem_context_has_engine(fd, ctx, ring)); gem_context_require_bannable(fd); if (!igt_check_boolean_env_var("IGT_HANG_WITHOUT_RESET", false)) igt_require(has_gpu_reset(fd)); @@ -290,7 +290,7 @@ static igt_hang_t __igt_hang_ctx(int fd, uint64_t ahnd, uint32_t ctx, int ring, igt_spin_t *spin; unsigned ban; - igt_require_hang_ring(fd, ring); + igt_require_hang_ring(fd, ctx, ring); /* check if non-default ctx submission is allowed */ igt_require(ctx == 0 || has_ctx_exec(fd, ring, ctx)); diff --git a/lib/igt_gt.h b/lib/igt_gt.h index c5059817b..3d10349e4 100644 --- a/lib/igt_gt.h +++ b/lib/igt_gt.h @@ -31,7 +31,7 @@ #include "i915/i915_drm_local.h" #include "i915_drm.h" -void igt_require_hang_ring(int fd, int ring); +void igt_require_hang_ring(int fd, uint32_t ctx, int ring); typedef struct igt_hang { igt_spin_t *spin; diff --git a/tests/i915/i915_hangman.c b/tests/i915/i915_hangman.c index b9c4d9983..f64b8819d 100644 --- a/tests/i915/i915_hangman.c +++ b/tests/i915/i915_hangman.c @@ -295,7 +295,7 @@ test_engine_hang(const intel_ctx_t *ctx, * case and it takes a lot more time to wrap, so the acthd can potentially keep * increasing for a long time */ -static void hangcheck_unterminated(void) +static void hangcheck_unterminated(const intel_ctx_t *ctx) { /* timeout needs to be greater than ~5*hangcheck */ int64_t timeout_ns = 100ull * NSEC_PER_SEC; /* 100 seconds */ @@ -304,7 +304,7 @@ static void hangcheck_unterminated(void) uint32_t handle; igt_require(gem_uses_full_ppgtt(device)); - igt_require_hang_ring(device, 0); + igt_require_hang_ring(device, ctx->id, 0); handle = gem_create(device, 4096); @@ -394,7 +394,7 @@ igt_main igt_describe("Check that executing unintialised memory causes a hang"); igt_subtest("hangcheck-unterminated") - hangcheck_unterminated(); + hangcheck_unterminated(ctx); igt_fixture { igt_disallow_hang(device, hang); -- 2.25.1 From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: From: John.C.Harrison@Intel.com Date: Thu, 13 Jan 2022 08:59:31 -0800 Message-Id: <20220113165944.1414015-3-John.C.Harrison@Intel.com> In-Reply-To: <20220113165944.1414015-1-John.C.Harrison@Intel.com> References: <20220113165944.1414015-1-John.C.Harrison@Intel.com> MIME-Version: 1.0 Content-Transfer-Encoding: 8bit Subject: [igt-dev] [PATCH v2 i-g-t 02/15] lib/hang: Fix igt_require_hang_ring to work with all engines List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: igt-dev-bounces@lists.freedesktop.org Sender: "igt-dev" To: IGT-Dev@Lists.FreeDesktop.Org Cc: Intel-GFX@Lists.FreeDesktop.Org List-ID: From: John Harrison The above function was checking for valid rings via the old interface. The new scheme is to check for engines on contexts as there are now more engines than could be supported. Signed-off-by: John Harrison --- lib/igt_gt.c | 6 +++--- lib/igt_gt.h | 2 +- tests/i915/i915_hangman.c | 6 +++--- 3 files changed, 7 insertions(+), 7 deletions(-) diff --git a/lib/igt_gt.c b/lib/igt_gt.c index 7c7df95ee..50da512f2 100644 --- a/lib/igt_gt.c +++ b/lib/igt_gt.c @@ -122,12 +122,12 @@ static void eat_error_state(int dev) * to be done under hang injection. * Default: false */ -void igt_require_hang_ring(int fd, int ring) +void igt_require_hang_ring(int fd, uint32_t ctx, int ring) { if (!igt_check_boolean_env_var("IGT_HANG", true)) igt_skip("hang injection disabled by user [IGT_HANG=0]\n"); - gem_require_ring(fd, ring); + igt_require(gem_context_has_engine(fd, ctx, ring)); gem_context_require_bannable(fd); if (!igt_check_boolean_env_var("IGT_HANG_WITHOUT_RESET", false)) igt_require(has_gpu_reset(fd)); @@ -290,7 +290,7 @@ static igt_hang_t __igt_hang_ctx(int fd, uint64_t ahnd, uint32_t ctx, int ring, igt_spin_t *spin; unsigned ban; - igt_require_hang_ring(fd, ring); + igt_require_hang_ring(fd, ctx, ring); /* check if non-default ctx submission is allowed */ igt_require(ctx == 0 || has_ctx_exec(fd, ring, ctx)); diff --git a/lib/igt_gt.h b/lib/igt_gt.h index c5059817b..3d10349e4 100644 --- a/lib/igt_gt.h +++ b/lib/igt_gt.h @@ -31,7 +31,7 @@ #include "i915/i915_drm_local.h" #include "i915_drm.h" -void igt_require_hang_ring(int fd, int ring); +void igt_require_hang_ring(int fd, uint32_t ctx, int ring); typedef struct igt_hang { igt_spin_t *spin; diff --git a/tests/i915/i915_hangman.c b/tests/i915/i915_hangman.c index b9c4d9983..f64b8819d 100644 --- a/tests/i915/i915_hangman.c +++ b/tests/i915/i915_hangman.c @@ -295,7 +295,7 @@ test_engine_hang(const intel_ctx_t *ctx, * case and it takes a lot more time to wrap, so the acthd can potentially keep * increasing for a long time */ -static void hangcheck_unterminated(void) +static void hangcheck_unterminated(const intel_ctx_t *ctx) { /* timeout needs to be greater than ~5*hangcheck */ int64_t timeout_ns = 100ull * NSEC_PER_SEC; /* 100 seconds */ @@ -304,7 +304,7 @@ static void hangcheck_unterminated(void) uint32_t handle; igt_require(gem_uses_full_ppgtt(device)); - igt_require_hang_ring(device, 0); + igt_require_hang_ring(device, ctx->id, 0); handle = gem_create(device, 4096); @@ -394,7 +394,7 @@ igt_main igt_describe("Check that executing unintialised memory causes a hang"); igt_subtest("hangcheck-unterminated") - hangcheck_unterminated(); + hangcheck_unterminated(ctx); igt_fixture { igt_disallow_hang(device, hang); -- 2.25.1