From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from simark.ca by simark.ca with LMTP id KQpqMVOHS2p3qykAWB0awg (envelope-from ) for ; Mon, 06 Jul 2026 06:45:39 -0400 Authentication-Results: simark.ca; dkim=pass (1024-bit key; unprotected) header.d=amd.com header.i=@amd.com header.a=rsa-sha256 header.s=selector1 header.b=IGOcZn7i; dkim-atps=neutral Received: by simark.ca (Postfix, from userid 112) id C4F281E098; Mon, 06 Jul 2026 06:45:39 -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=unavailable autolearn_force=no version=4.0.1 Received: from vm01.sourceware.org (vm01.sourceware.org [38.145.34.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 538751E070 for ; Mon, 06 Jul 2026 06:45:39 -0400 (EDT) Received: from vm01.sourceware.org (localhost [IPv6:::1]) by sourceware.org (Postfix) with ESMTP id D879F4BA2E19 for ; Mon, 6 Jul 2026 10:45:38 +0000 (GMT) DKIM-Filter: OpenDKIM Filter v2.11.0 sourceware.org D879F4BA2E19 Authentication-Results: sourceware.org; dkim=pass (1024-bit key, unprotected) header.d=amd.com header.i=@amd.com header.a=rsa-sha256 header.s=selector1 header.b=IGOcZn7i Received: from MW6PR02CU001.outbound.protection.outlook.com (mail-westus2azon11012018.outbound.protection.outlook.com [52.101.48.18]) by sourceware.org (Postfix) with ESMTPS id C70734BA2E08 for ; Mon, 6 Jul 2026 10:45:12 +0000 (GMT) DMARC-Filter: OpenDMARC Filter v1.4.2 sourceware.org C70734BA2E08 Authentication-Results: sourceware.org; dmarc=pass (p=quarantine dis=none) header.from=amd.com Authentication-Results: sourceware.org; spf=fail smtp.mailfrom=amd.com ARC-Filter: OpenARC Filter v1.0.0 sourceware.org C70734BA2E08 Authentication-Results: sourceware.org; arc=pass smtp.remote-ip=52.101.48.18 ARC-Seal: i=2; a=rsa-sha256; d=sourceware.org; s=key; t=1783334713; cv=pass; b=l3uUvsaIgSSU1Yug8jMOQ6Lvaa1mwLS3wEyZ3Ay8nsF8XIjtye5gtUOLBDX0l5Y0uzkxqYzXXNZ9aaYojbu4R72ahUplRj+hZgt+fi8e6DFEgRhb+k/3n0nvQjKHYVs+I1Ez1nUp4+oHo+ePHU5HsIfmJqtdFWM1x6NWWOeNI9o= ARC-Message-Signature: i=2; a=rsa-sha256; d=sourceware.org; s=key; t=1783334713; c=relaxed/simple; bh=mXrg5eZYkyDUFw2Iheb6NEHX0ytAAkZdXVLT2TgONyc=; h=DKIM-Signature:Message-ID:Date:Subject:To:From:MIME-Version; b=DXSlV9QfwLUni5OuywE+w/ySTnD9lj2O8ibdcOELx4XQ/krfRrVDoRGRPUGX0vOvwf5W+LsZY60kACeVWs4y1cD/+eKx/htSxgDZWUsUvtGP6EX+4Y4XtBsB2MKX/1/XoCynoBcs/HM17ngVIqQl724rsOWiXvMig5uGp0zyK94= ARC-Authentication-Results: i=2; sourceware.org; dkim=pass (1024-bit key, unprotected) header.d=amd.com header.i=@amd.com header.a=rsa-sha256 header.s=selector1 header.b=IGOcZn7i DKIM-Filter: OpenDKIM Filter v2.11.0 sourceware.org C70734BA2E08 ARC-Seal: i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none; b=Rpkt8bFVGJClQvH5uFE7fFMHmW1hDNq90/lCdqrrDk8d2b00ZhKVqbsLS0QwQnyW13hDDlC7Pj2nOUZlNd0hUF1ZHMH0SrWle+TwBJuOit8YUDY0FHMwk1h2eBXqqSjz64JU/vtPYjdXG/2AiOJn2fFVV7d3uVvCh8mq4QLprWpK6wDk2zzYokXApmsEPhiWc4sjq5aMIjYJOpvC5L6Gfm/eaOMa8Qm8pNxJY4+fq2cb/5auRYHprex4tglz6SlQwEr3CBi0j0qez8mtTJxUTQriDGPyzFpyL8Xv6LVOVztaNYDorLq65AKxtN12FL/gutWIlbefwyrv4xJndlyS1g== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com; s=arcselector10001; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1; bh=LaKzoTB5+5BFmDw+EKa6lP5ShGmqsRs1T8O9AyjfPts=; b=WWb++/khXo/dSj07YXvgj9yZO3D7QojZmbWrE6MhzLLuU4hoE4lBP4VrPOpMUoeFPDP9oL5dXjDhdmHeYwTyJeH1GUtoQamU0EwLa1e5Qua9p8VEshTg1TNyeakcnfxt2mnXGQSSmMDc28M7474METtZAiNlPxtZyOndUJUgmHEaxUHsS1UMHgbpPysT0yT/Cm1kc8yGWTwuxU/jpRzxxiHheLWnK/xZWcR3btkerPOU0L/JeoADV2LDjFpVa1rLBW/GFhOwAvwdrAoY4c1y8OoylcVma987lVXSFjE6/1fqtu8dlWbw0KAtw7gZCyHK31yeeVlmany0nQS8mob56Q== ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass smtp.mailfrom=amd.com; dmarc=pass action=none header.from=amd.com; dkim=pass header.d=amd.com; arc=none DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=amd.com; s=selector1; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=LaKzoTB5+5BFmDw+EKa6lP5ShGmqsRs1T8O9AyjfPts=; b=IGOcZn7iY7N8imJg/QWGgoIl3X7IlTfNgAXOhMdvuRwUSIwkeyBEuIDa9Q7ftfGpD83t53u2efdY+QlvhP8zZ8F7mUAFl7ihFVb4IgBd6XbH4/mDwDxvcGLFVkCzbF2JbwwgYVq+whBWQKcbp9ItdtwApN7ODEx9dwratAnFsSk= Authentication-Results: dkim=none (message not signed) header.d=none;dmarc=none action=none header.from=amd.com; Received: from CH3PR12MB9079.namprd12.prod.outlook.com (2603:10b6:610:1a1::9) by PH0PR12MB7487.namprd12.prod.outlook.com (2603:10b6:510:1e9::5) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.21.181.10; Mon, 6 Jul 2026 10:45:08 +0000 Received: from CH3PR12MB9079.namprd12.prod.outlook.com ([fe80::5a7a:2adf:1862:35c3]) by CH3PR12MB9079.namprd12.prod.outlook.com ([fe80::5a7a:2adf:1862:35c3%5]) with mapi id 15.21.0181.009; Mon, 6 Jul 2026 10:45:07 +0000 Message-ID: <24de0333-2e6d-48c1-81a0-50b4dc04d35b@amd.com> Date: Mon, 6 Jul 2026 11:45:02 +0100 User-Agent: Mozilla Thunderbird Subject: Re: [PATCH 2/2] gdb, amd-dbgapi-target: split wave_coordinates::to_string To: Simon Marchi , Tankut Baris Aktemur , gdb-patches@sourceware.org References: <20260703125058.1828518-1-tankutbaris.aktemur@amd.com> <20260703125058.1828518-2-tankutbaris.aktemur@amd.com> <0d201386-8f2d-4489-ba37-ca8835f07631@simark.ca> Content-Language: en-US From: Lancelot SIX In-Reply-To: <0d201386-8f2d-4489-ba37-ca8835f07631@simark.ca> Content-Type: text/plain; charset=UTF-8; format=flowed Content-Transfer-Encoding: 8bit X-ClientProxiedBy: YQZPR01CA0091.CANPRD01.PROD.OUTLOOK.COM (2603:10b6:c01:84::26) To CH3PR12MB9079.namprd12.prod.outlook.com (2603:10b6:610:1a1::9) MIME-Version: 1.0 X-MS-PublicTrafficType: Email X-MS-TrafficTypeDiagnostic: CH3PR12MB9079:EE_|PH0PR12MB7487:EE_ X-MS-Office365-Filtering-Correlation-Id: 8f935731-6cdc-417c-6e7d-08dedb4ba53f X-MS-Exchange-SenderADCheck: 1 X-MS-Exchange-AntiSpam-Relay: 0 X-Microsoft-Antispam: BCL:0; ARA:13230040|1800799024|366016|23010399003|376014|18002099003|22082099003|4143699003|11063799006|56012099006; X-Microsoft-Antispam-Message-Info: do7EudQ4+tfgeCBRYEf/yPRv4iS156yad5oLyinrO/car2aW2Y4Y4AJV1wvt3CvysPAbm+hO87o4gVVb8ZuMVhKivFdbIyyePJwQXLSlpbIVfAtBql85kijotavHPThFppu5TfFxc2UUTO8eD8s1aWcHYDl4EIeL9cB9UJy7lbW8OYCFcGPsv7v+wt/apLJS9RbGmUEmdpfaxCGR8AY/AVHsAfG76pWCybRDL8FSr2YRFZmvuEdR+fwhk27KXETt64X13hcDNvoy4qlsKW0Y6Vs+wx8khJqtasYBOGMUR6QF3oZ57LnhwL2Y4GJOsr5KHUwlcidayVLYKDAPAn4v8oxau8XdqgF3S1dTgbn59ECH8YKq7r1+wzO1XAVMSQMxL1sbhZIsdPDMC/8QJTRy+mWuthrq5hbA/tiEW1mXNBBCDxrFDLHnN3RpBXikAKx95eMKYUF/q1LcoqjoCBWmYAUSvmZDdCIClP0I6x7DKrjkfwxFFqO70Tm3vBGTom8JxvVbeokq+0AtfZhJBmMDobP5yCyKumr0358EaiIL1isp2FhiyD4a4h6lm8VjlAalZW2EveGnHDhzTOuVEwc+KaJTB2wqPRg/8MNsj7ghPwK0Fq26Jr79vQbF9Y76dxbTIWZYy829rIm6A9MTrHs/5thUZGWD81AMSpkNbM2y2oc= X-Forefront-Antispam-Report: CIP:255.255.255.255; CTRY:; LANG:en; SCL:1; SRV:; IPV:NLI; SFV:NSPM; H:CH3PR12MB9079.namprd12.prod.outlook.com; PTR:; CAT:NONE; SFS:(13230040)(1800799024)(366016)(23010399003)(376014)(18002099003)(22082099003)(4143699003)(11063799006)(56012099006); DIR:OUT; SFP:1101; X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-MessageData-0: =?utf-8?B?MW9yODV5VVdEQ25RN0psTzVoaDl5aEZjSkhjd0lKcncvN1BkUytrVmU4K2wy?= =?utf-8?B?UDBKajlMTkR6WVRLNGFqUThFK1pkYm1JZ3E5ckpHS0FWRFNRSEtLdHJpMUxt?= =?utf-8?B?dnVZb01IcWIxRmh1UzNuK0VpTWlHdDU5dTlJYXVQd0RkYjc4QTczTGpVejJF?= =?utf-8?B?N3ZHU1krYkhKN1NLYUIzNXJ4RCt6VTh2cjkwVERZYjBZNU96bmk2WHc4TVRk?= =?utf-8?B?RVhta1F5SzJTLzdKVDd0c25lWWpFSkNTVWoza0dzTCsySVE4UGJBNG1yNGwr?= =?utf-8?B?R1ZtNVdpTWFlTlQ3V0VqSGJlM0VqN25WM2tnREdhWTdONSs1UUNhc0ViVHdO?= =?utf-8?B?T1kwMjhWVWY1RjBhaE5mcVJDc3dnWW85T21CMDNTV2ZIZWc0elNsUncxQkJ3?= =?utf-8?B?eSswSjVLd3orOVp5MmtGN0pPZkhrMWVvOFNIdm9HemdhKzB3aUVDRlhOaXZi?= =?utf-8?B?NW5GM0RRRHZlZExoQlRKVFNQbm9qQmExK2V1eExTeG4vQW1GQVhpNGRvYVhM?= =?utf-8?B?SU0za2k3a0VIRnNnaXRFRjErbFppeWZXNS9aVG13VmFkanFNTERXdHpGOTEv?= =?utf-8?B?S2tLM0VvMlFpTFdueVljd3E0dTZDNkNOQm11ZGlFTGpTQUJuT0kyck5pUkFl?= =?utf-8?B?VHVxVENLcWg3VFJzM2luNS84T1RlRmxZZ2MyT2VjOUg3em5CTjBOVjZCcXBN?= =?utf-8?B?SGVVZEJqQjZNYTgxUktnMkxrL2lVK2dtUlMxMWdKTXhKYXJ5OFRZT0tGTGN6?= =?utf-8?B?WUZHM1FmeXZBNXhoRy9HMnJIanBvUisxNmhqZjVsMndrbDU0K1JOVytGeXFq?= =?utf-8?B?d3g0R0REMXZqOURRT2RXL3ZFcDB4d1BKdGtJOGt1WEtrSllPL2ZVbUxuUnBv?= =?utf-8?B?WDZVWU52L0liemtXbTJ0TmhINnlIcjBJNEQ0ZHVFZ01RQXR1S2FUaXhXY1Mw?= =?utf-8?B?TmF1dCtNdm11TXF5ZzJOdEZtbjNCZEZLN1Njd2pVa0FLeFlHYnRWR1diUFhP?= =?utf-8?B?UlNhOC9MYmpNUG5uVVJSR0puUG44UXBDRFZKSnlzU3hKVlhoakdoY09vME9B?= =?utf-8?B?K2JNa0QxWWhqQ1Y2NFVTRVJld2hQSjJJWWE1WGZvV29LMjZQaXY4RXQrRk1o?= =?utf-8?B?ZzZjTXhySkFuTUp5eTFRanBLdUZaTzhBWWVxVVM4UzZyS2daNTdmT0xtUVNs?= =?utf-8?B?SlhhOWZPU2RYZXMrOW9Hdm1tRjlKaU5ZY29nSEpkZVYwRWdCTThHbGVOcEFT?= =?utf-8?B?ZlIyMmk3MkxCbDczNGQ5YmRhYmR3SHIrcGQwNFRwdVNzQ2NGeHNMR3VrS0F0?= =?utf-8?B?WTl1RzJabkJmNVdPMkl3c2VHWVIyMzN1RTQ2YjY3ZjBOemF2ZmIwVGIydzZh?= =?utf-8?B?dWVxRnJkYk41L01CRExIZmROenV2RjhVbEF6VFROcmpQemZHcWZLeE5DUHJm?= =?utf-8?B?S1dkMGd5VUZVWTRUUXdSSVJrNFNkUUUxNlBYWlk0bEpBWThFbDA0TmErNzls?= =?utf-8?B?M3ZnNkxlL293VXg3djB1bzdtRUowaEpHU0tOeW44UC85ODhrRXN1amMrb2RE?= =?utf-8?B?V2FTM05YZjlOWWpyM2QrNTJIYWxkWXRsSHBBMjNQZjVvdTdKcjVFRXRFWUZV?= =?utf-8?B?SWc5TlVuRGwveDQ5aHhQK0JvenJoUndVMEdoakJrKzd5b25kci9uNTE3bVJ4?= =?utf-8?B?VCt0a00vblVCYmphd3VXcDNtOWhONEZXU3NER1piQTVGWTZvUDdQV1dlVzd4?= =?utf-8?B?VjRwYmQvS2lwdnpkK2oyK1ZIcG82cVRFT0F4S3htTGhiZFpXbWZiS3Avby90?= =?utf-8?B?cnRYb003UTR0RjhZZ3JMK0lJWVdGLzNHcEdybk1jczZVb1ZCdzc0ejYzVVpK?= =?utf-8?B?RnB1anhKUUNEeFFuNGlVYlBCY1R2YVdmUDA5NDl6dEtnYVM3dS9PU2liOXEy?= =?utf-8?B?T1NjMkNwK3BCRktNYkZzNkRSMFRJM201dTJaTU1RV0ZHYWhaNUdCUGNkYkhv?= =?utf-8?B?R0h4Mk82VEtRbUt5a1AycmpteFdiTzZibEd5VEQ5UnNtYytSQ3F3aVRjU1RV?= =?utf-8?B?RXlRaElMaWdOYmNpNmIrYnVQSGpoZXUwSnZmK0xaZkFKY0tYRXR2eml4NU5M?= =?utf-8?B?cGpMdkRtT0lUVmg5NFI1eXpaR0QxTzZJbDdHa0NCVkZkQjI0RFlESDRSaUMy?= =?utf-8?B?NUplcEoxZ3NPekxVbDdCQnJtZlRNT1VLaFBHc1BhQjJ6Z2Z6VUU0UjVVcGIy?= =?utf-8?B?SEFhYUFKeTN0ZkVQeklXS29NRlRVWTFreDJaZ0FvWnpuSjhNczdMM3FGVFV5?= =?utf-8?B?L2t2RnlaWHZKSlhCVXFYRlZuVE5vWlI0NEpGSHdNTHNzR1pyRWhPdz09?= X-OriginatorOrg: amd.com X-MS-Exchange-CrossTenant-Network-Message-Id: 8f935731-6cdc-417c-6e7d-08dedb4ba53f X-MS-Exchange-CrossTenant-AuthSource: CH3PR12MB9079.namprd12.prod.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-OriginalArrivalTime: 06 Jul 2026 10:45:07.7547 (UTC) X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted X-MS-Exchange-CrossTenant-Id: 3dd8961f-e488-4e60-8e11-a82d994e183d X-MS-Exchange-CrossTenant-MailboxType: HOSTED X-MS-Exchange-CrossTenant-UserPrincipalName: oWHuqJgrMoeRUYtuTCT2yVqqqH3DfXy9MMF9r/n3EO0c2Gjfub8wKQ6sUKy21qeUQn8tFgteA6MzLYnJTdpenw== X-MS-Exchange-Transport-CrossTenantHeadersStamped: PH0PR12MB7487 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 03/07/2026 14:16, Simon Marchi wrote: > Caution: This message originated from an External Source. Use proper caution when opening attachments, clicking links, or responding. > > > On 7/3/26 8:50 AM, Tankut Baris Aktemur wrote: >> wave_coordinates::to_string() produces a string in the following format: >> >> AMDGPU Wave a:q:d:w (x,y,z)/i >> >> Split the method into smaller pieces: >> >> a:q:d:w : hierarchy_str >> (x,y,z) : workgroup_coord_str >> (x,y,z)/i : dispatch_pos_str >> >> This is a refactoring to allow reusing pieces. Currently the reuse >> opportunity exists in the downstream debugger. > > I think this is a nice change even for upstream, as it helps document > what the numbers mean. Assuming Lancelot is already fine with the > change: > > Approved-By: Simon Marchi > > Just one formatting comment below. Hi, Yes, I am fine with this welcome change as well. Only comments would be linked to what V2 of patch 1 changed, %u -> pulongest. Other than that, this all looks good to me. Approved-by: Lancelot Six (amdgpu) Best, Lancelot. > >> --- >> gdb/amd-dbgapi-target.c | 55 +++++++++++++++++++++++++++++++++-------- >> 1 file changed, 45 insertions(+), 10 deletions(-) >> >> diff --git a/gdb/amd-dbgapi-target.c b/gdb/amd-dbgapi-target.c >> index 923b790664e..33512695fb5 100644 >> --- a/gdb/amd-dbgapi-target.c >> +++ b/gdb/amd-dbgapi-target.c >> @@ -147,6 +147,17 @@ struct wave_coordinates >> : wave_id (wave_id) >> {} >> >> + /* Return the string showing the agent -> queue -> dispatch -> wave >> + hierarchy. */ >> + std::string hierarchy_str () const; >> + >> + /* Return the workgroup coordinates as a string. */ >> + std::string workgroup_coord_str () const; >> + >> + /* Return the dispatch position string for the wave this >> + wave_coordinates is for. */ >> + std::string dispatch_pos_str () const; >> + >> /* Return the target ID string for the wave this wave_coordinates is >> for. */ >> std::string to_string () const; >> @@ -387,13 +398,12 @@ get_amd_dbgapi_inferior_info (inferior *inferior) >> static async_event_handler *amd_dbgapi_async_event_handler = nullptr; >> >> std::string >> -wave_coordinates::to_string () const >> +wave_coordinates::hierarchy_str () const >> { >> - std::string str = "AMDGPU Wave"; >> - >> - str += (agent_id != AMD_DBGAPI_AGENT_NONE >> - ? string_printf (" %s", pulongest (agent_id.handle)) >> - : " ?"); >> + std::string str >> + = (agent_id != AMD_DBGAPI_AGENT_NONE >> + ? string_printf (" %s", pulongest (agent_id.handle)) >> + : "?"); >> >> str += (queue_id != AMD_DBGAPI_QUEUE_NONE >> ? string_printf (":%s", pulongest (queue_id.handle)) >> @@ -405,11 +415,25 @@ wave_coordinates::to_string () const >> >> str += string_printf (":%s", pulongest (wave_id.handle)); >> >> - str += (group_ids[0] != UINT32_MAX >> - ? string_printf (" (%u,%u,%u)", group_ids[0], group_ids[1], >> - group_ids[2]) >> - : " (?,?,?)"); >> + return str; >> +} >> + >> +std::string >> +wave_coordinates::workgroup_coord_str () const >> +{ >> + std::string str >> + = (group_ids[0] != UINT32_MAX >> + ? string_printf ("(%u,%u,%u)", group_ids[0], group_ids[1], >> + group_ids[2]) > > group_ids[2] could go on the previous line, for one less line wrap. > > Simon