From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from simark.ca by simark.ca with LMTP id +RF3Gm13fGpXmCAAWB0awg (envelope-from ) for ; Wed, 12 Aug 2026 09:38:53 -0400 Authentication-Results: simark.ca; dkim=pass (2048-bit key; unprotected) header.d=intel.com header.i=@intel.com header.a=rsa-sha256 header.s=Intel header.b=hpVpYrca; dkim-atps=neutral Received: by simark.ca (Postfix, from userid 112) id 682691E166; Wed, 12 Aug 2026 09:38:53 -0400 (EDT) X-Spam-Checker-Version: SpamAssassin 4.0.1 (2024-03-25) on simark.ca X-Spam-Level: X-Spam-Status: No, score=-6.4 required=5.0 tests=ARC_SIGNED,ARC_VALID,BAYES_00, DKIMWL_WL_HIGH,DKIM_SIGNED,DKIM_VALID,DKIM_VALID_AU,MAILING_LIST_MULTI, RCVD_IN_DNSWL_MED autolearn=ham autolearn_force=no version=4.0.1 Received: from vm01.sourceware.org (vm01.sourceware.org [IPv6:2620:52:6:3111::32]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange x25519 server-signature ECDSA (prime256v1) server-digest SHA256) (No client certificate requested) by simark.ca (Postfix) with ESMTPS id CB54B1E033 for ; Wed, 12 Aug 2026 09:38:52 -0400 (EDT) Received: from vm01.sourceware.org (localhost [IPv6:::1]) by sourceware.org (Postfix) with ESMTP id 733E64BB3B85 for ; Wed, 12 Aug 2026 13:38:52 +0000 (GMT) DKIM-Filter: OpenDKIM Filter v2.11.0 sourceware.org 733E64BB3B85 Authentication-Results: sourceware.org; dkim=pass (2048-bit key, unprotected) header.d=intel.com header.i=@intel.com header.a=rsa-sha256 header.s=Intel header.b=hpVpYrca Received: from mgamail.intel.com (mgamail.intel.com [192.198.163.12]) by sourceware.org (Postfix) with ESMTPS id 6EF924BA900F for ; Wed, 12 Aug 2026 13:30:25 +0000 (GMT) DMARC-Filter: OpenDMARC Filter v1.4.2 sourceware.org 6EF924BA900F Authentication-Results: sourceware.org; dmarc=pass (p=none dis=none) header.from=intel.com Authentication-Results: sourceware.org; spf=pass smtp.mailfrom=intel.com ARC-Filter: OpenARC Filter v1.0.0 sourceware.org 6EF924BA900F Authentication-Results: sourceware.org; arc=none smtp.remote-ip=192.198.163.12 ARC-Seal: i=1; a=rsa-sha256; d=sourceware.org; s=key; t=1786541425; cv=none; b=HWStRpKVIKn8O5KRaXTsSAdSifgxIP9+jpqxTpUrezTisYf+DMgpVI+lwmbHRz4H6pZkuXFS5R0Fwzjc0qAS8MYXjnK7NGJLlYhvlidMIUAhNEBZvlRYgT+tLnE9fA9MGKUNQnxRqfE/MvmzLSJKGdejiTMLnw3hwLEjKfN2V1I= ARC-Message-Signature: i=1; a=rsa-sha256; d=sourceware.org; s=key; t=1786541425; c=relaxed/simple; bh=m4n04ZAkQGNSJpEbpezARO6D2KfafimuXrgh6lTW4KY=; h=DKIM-Signature:From:To:Subject:Date:Message-ID:MIME-Version; b=HjwphVxgTwzWvWnCWgzSnfbL0RAWZZYpvi0V+fButrZEV7UFMWTZDGqyahw+L4kl/16Z7IkPa7TysOqjH1L/Xk8eb43FuZouRr52Y9NEyv5pJXRtezB8GoEG/0AnKhgIQHYN29Bh1fHHM5J5ut8z9FYWZ1S6KlxBBxzF0H/Nr1w= ARC-Authentication-Results: i=1; sourceware.org; dkim=pass (2048-bit key, unprotected) header.d=intel.com header.i=@intel.com header.a=rsa-sha256 header.s=Intel header.b=hpVpYrca DKIM-Filter: OpenDKIM Filter v2.11.0 sourceware.org 6EF924BA900F DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=intel.com; i=@intel.com; q=dns/txt; s=Intel; t=1786541425; x=1818077425; h=from:to:subject:date:message-id:in-reply-to:references: mime-version:content-transfer-encoding; bh=m4n04ZAkQGNSJpEbpezARO6D2KfafimuXrgh6lTW4KY=; b=hpVpYrcasj/pw4fDZxyQDkqu8qv1mW0/+auwvAy5UriI7uCzTEZbjfQv 0qOQaSelFO81x/hL4noVcnX2uligWFhwNwDW01Lunh2TTsfP5H8wBXL36 Tl7MsOG3Z0vb7jnQkliNxxg74Wn7Ac7p1J0BiPBd9gbMp1txfNWKeDJCe ylFKgpD4025cGrzixQWc13QeRymBYElL2qOqKSS5btJMVvuqRCAu71oij NC8Neiof74XxyFVjO0i2TFNUztSuT92JsQOsFK7o8bqqVVHP1g1ReS1A3 xAcsAupa9Px+zJh2mOu4qwJV89NAX3qjcK7AsrIL2U62NB37BVr9PrKBP w==; X-CSE-ConnectionGUID: 5WV4OeFjS/iS0x5qQk5dfg== X-CSE-MsgGUID: oQc2fPs5TMO21nfc6RE8Zg== X-IronPort-AV: E=McAfee;i="6800,10657,11872"; a="90910818" X-IronPort-AV: E=Sophos;i="6.25,219,1779174000"; d="scan'208";a="90910818" Received: from fmviesa005.fm.intel.com ([10.60.135.145]) by fmvoesa106.fm.intel.com with ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384; 12 Aug 2026 06:30:25 -0700 X-CSE-ConnectionGUID: pSRTMgVhQLmnJaM+dUTiOA== X-CSE-MsgGUID: 4gI1WtkjSFiOeeZVGn3Y6Q== X-ExtLoop1: 1 X-IronPort-AV: E=Sophos;i="6.25,219,1779174000"; d="scan'208";a="268804857" Received: from gkldtt-dev-004.igk.intel.com (HELO localhost) ([10.123.221.202]) by fmviesa005-auth.fm.intel.com with ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384; 12 Aug 2026 06:30:24 -0700 From: Markus Metzger To: gdb-patches@sourceware.org Subject: [PATCH v4 44/44] testsuite, intelgt: add a test for interrupting an exited thread Date: Wed, 12 Aug 2026 15:28:04 +0200 Message-ID: <20260812132805.380163-45-markus.t.metzger@intel.com> X-Mailer: git-send-email 2.53.0 In-Reply-To: <20260812132805.380163-1-markus.t.metzger@intel.com> References: <20260812132805.380163-1-markus.t.metzger@intel.com> MIME-Version: 1.0 Content-Type: text/plain; charset="us-ascii" Content-Transfer-Encoding: 7bit X-BeenThere: gdb-patches@sourceware.org X-Mailman-Version: 2.1.30 Precedence: list List-Id: Gdb-patches mailing list List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: gdb-patches-bounces~public-inbox=simark.ca@sourceware.org On Intel GPUs we do not get exit events when a thread dispatch ends. The gdbserver-intelgt target synthesizes an exit event during single-stepping, but otherwise just removes threads from the thread list. Test that we can still interrupt an Intel GPU inferior after all resumed threads exited. --- .../intelgt-interrupt-exited-thread.exp | 85 +++++++++++++++++++ 1 file changed, 85 insertions(+) create mode 100644 gdb/testsuite/gdb.arch/intelgt-interrupt-exited-thread.exp diff --git a/gdb/testsuite/gdb.arch/intelgt-interrupt-exited-thread.exp b/gdb/testsuite/gdb.arch/intelgt-interrupt-exited-thread.exp new file mode 100644 index 00000000000..3730cc8cda7 --- /dev/null +++ b/gdb/testsuite/gdb.arch/intelgt-interrupt-exited-thread.exp @@ -0,0 +1,85 @@ +# Copyright 2026 Free Software Foundation, Inc. +# +# This program is free software; you can redistribute it and/or modify +# it under the terms of the GNU General Public License as published by +# the Free Software Foundation; either version 3 of the License, or +# (at your option) any later version. +# +# This program is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +# GNU General Public License for more details. +# +# You should have received a copy of the GNU General Public License +# along with this program. If not, see . +# +# Test scenarios where we try to interrupt threads that exited. + +load_lib sycl.exp + +standard_testfile sycl-hello.cpp + +set sycl_device_list [init_sycl_devices_list] +if {[llength $sycl_device_list] == 0} { + unsupported "target does not support SYCL" + return +} + +if {[build_executable "failed to compile $srcfile" "$binfile" "$srcfile" \ + {sycl debug}]} { + return +} + +foreach device $sycl_device_list { + sycl_with_intelgt_lock $device { + if {![require_sycl_device "$device" "gpu" "Intel*"]} { + unsupported "test is aimed at Intel GPUs only" + continue + } + + clean_restart $testfile + if {![sycl_start $device]} { + continue + } + + set line [gdb_get_line_number "inside-kernel"] + gdb_breakpoint $line + gdb_continue_to_breakpoint ".*inside-kernel.*" + + gdb_test_no_output "set scheduler-locking on" + gdb_test_multiple "continue" "continue thread" { + -re "Continuing" { + pass $gdb_test_name + } + } + + after 500 {send_gdb "\003"} + gdb_test "" "Thread .* exited.*" "thread exited" + gdb_test "thread" ".*exited.*" + + gdb_test_no_output "set scheduler-locking off" + gdb_test_no_output "set schedule-multiple off" + + with_test_prefix "thread exited" { + gdb_test_multiple "continue" "continue inferior" { + -re "Continuing" { + pass $gdb_test_name + } + } + + after 500 {send_gdb "\003"} + gdb_test "" "No unwaited-for children left." "no resumed" + } + + with_test_prefix "no thread" { + gdb_test_multiple "continue" "continue inferior" { + -re "Continuing" { + pass $gdb_test_name + } + } + + after 500 {send_gdb "\003"} + gdb_test "" "No unwaited-for children left." "no resumed" + } + } +} -- 2.43.0 ________________________________________ Intel Deutschland GmbH Registered Address: Dornacher Strasse 1, 85622 Feldkirchen, Germany Tel: +49 (89) 99143-0 www.intel.de Managing Directors: Candice Moore, Jeffrey Schneiderman, Ramachandran Sitaraman Chairperson of the Supervisory Board: Sonja Pierer Registered Seat: Munich Commercial Register B: Amtsgericht Munich HRB 186928 This e-mail and any attachments may contain confidential material for the sole use of the intended recipient(s). Any review or distribution by others is strictly prohibited. If you are not the intended recipient, please contact the sender and delete all copies.