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 15C66C5AD5A for ; Thu, 13 Aug 2026 02:30:33 +0000 (UTC) Received: from gabe.freedesktop.org (localhost [127.0.0.1]) by gabe.freedesktop.org (Postfix) with ESMTP id 8FF5010E48C; Thu, 13 Aug 2026 02:30:32 +0000 (UTC) Authentication-Results: gabe.freedesktop.org; dkim=pass (2048-bit key; unprotected) header.d=gmail.com header.i=@gmail.com header.b="aSy/uvJx"; dkim-atps=neutral Received: from mail-pf1-f172.google.com (mail-pf1-f172.google.com [209.85.210.172]) by gabe.freedesktop.org (Postfix) with ESMTPS id 61BC710E48C for ; Thu, 13 Aug 2026 02:30:31 +0000 (UTC) Received: by mail-pf1-f172.google.com with SMTP id d2e1a72fcca58-84e84a6c4bfso549753b3a.1 for ; Wed, 12 Aug 2026 19:30:31 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20251104; t=1786588231; x=1787193031; darn=lists.freedesktop.org; h=content-transfer-encoding:content-type:mime-version:message-id:date :subject:cc:to:from:from:to:cc:subject:date:message-id:reply-to :content-type; bh=Ldz6DL8CjhzOSVRnFSPcYSPJn9r/HSeMGQbHfgC9q48=; b=aSy/uvJx3SAJ/VgrNF+8crs7q/uUELh4CpvI+Q/aoF1/j/Ou7ugGq/sZ5seD1D9HdA ERB+Zpz13iIwmWrYyJnmqpNt630aK0x23WQ28HxfwRgfud86CQpVhzolQF5jXQ7PlStr nCOEA6t/0rkQHXBydGeOjSzjyPRgPKzuC8RCPfPkCMBnSs7sr0JYaLR491vFLjGuk2sP eYltoiBXMfPgjZYd5UOkyu3Ha2XSqH2H/D+k+jWBClHw3+623NtbAx8McvRkxJB6WNxh MUFC68+BAGvcZMSREtkPOnp9PXMu77KmFzSMlfDE+I3IA32jU8Me76oq9/yYAucggNbg QSag== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20251104; t=1786588231; x=1787193031; h=content-transfer-encoding:content-type:mime-version:message-id:date :subject:cc:to:from:x-gm-gg:x-gm-message-state:from:to:cc:subject :date:message-id:reply-to:content-type; bh=Ldz6DL8CjhzOSVRnFSPcYSPJn9r/HSeMGQbHfgC9q48=; b=PeH+qKktdHVnRjPny5uG3UhJfzJ916ojERuNsIbWj70M88w5lZNlMnXcpTWOs0LAT9 MTphNJIU8dRFLGYjQOZsbaAXLsIUGF9Gtqw7eMrY80NTohOMJ+Vf43Aqe13BY/OWcDwD pi70V8j67cVa5/ZIR2fmajVnyCX6nvSsnWVYTm9U2e5HT8kGv9hnt9DeD+r7PC/MHXI8 PLr2Qomi9bptw0rRu9fB3L+l1wV+VJ7RTJ+OesQhG1PFUF4BUh9lhiI1x1JcADDuEUg3 5IHJf12W5TR5C7GZ2jhqNoSajmKm98qk9Bl04prUX/i3e99s7buYZip7EN5SQykueMyl vDZA== X-Gm-Message-State: AOJu0YyUGIzv9XzhQL16fyP05s9AVksycafxe1mGnTk2az7E/2cBKdl0 PVbFnNn1h/kaKOKwBHhwFIe2ZI/Mme0yt5GhiQrgNS1Dg7QkQgSE23J6jbbmdg== X-Gm-Gg: AR+sD10lkTIV5I+ULoE9SvMb9+6gXj55R2IyX9vFSqC9Z+iS849FscY5Mt9GiPzqYLe VAxM7JWtGjGZWBy0YstsGYSmDjNN4MrZbxdhBjJdzCmUS99fXEeKHl617EEQHu4XJSYFV8hQxHV 5ILh/O5GJoW8SbUHIHyfbARvJ3SSxzIyobt8Ssm1AfiouPcDXFDqWrGAsea0FL0Qi96mem/KIC1 x5xOl2mxm8hAeseon7iMVYPCScla60qBRp0XXOYBPj1TAmKyy875S9LURKJYoaWRFaqwf7OOvnx yzGL7dDsMPlshT2QvtS0EbVhmtbSVKugQblXbA4S86/jHRBi6pyLq8ujr9DJjLMJww680+9xYeR 9zFB96gpzuG0ncvG03NDRxOwJHJ60WxxyE0bThoecNNTFpJvHk6CMRbwMrVC6F7l+PltrxvJjIG HRWhmhzJ3D90YK2IbJQrQtdHKIUA3Sw014HFqb6w3GOJkw5ECgVj5O2WOPVFMPzKYIQFI5DlYX1 2EKey5ZbcxAlfWszEPkdKeCL0trRUVGHhgZKmXEyOyHkddnl1jL2aoX X-Received: by 2002:a05:6a20:244e:b0:3a2:c9a1:2c26 with SMTP id adf61e73a8af0-3cc57372d8bmr2480871637.7.1786588230599; Wed, 12 Aug 2026 19:30:30 -0700 (PDT) Received: from lord.bigscale.net ([170.246.208.200]) by smtp.gmail.com with ESMTPSA id 5a478bee46e88-31ebf731f95sm1950053eec.15.2026.08.12.19.30.27 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Wed, 12 Aug 2026 19:30:30 -0700 (PDT) From: =?UTF-8?q?Tales=20A=2E=20Mendon=C3=A7a?= To: intel-xe@lists.freedesktop.org Cc: matthew.brost@intel.com, daniele.ceraolospurio@intel.com, stuart.summers@intel.com, julia.filipchuk@intel.com, thomas.hellstrom@linux.intel.com, rodrigo.vivi@intel.com, dri-devel@lists.freedesktop.org, =?UTF-8?q?Tales=20A=2E=20Mendon=C3=A7a?= Subject: [PATCH v2 0/3] drm/xe: fix GuC TLB invalidation ack stalls on ARL (Wa_22016122933) Date: Wed, 12 Aug 2026 23:30:13 -0300 Message-ID: <20260813023016.805573-1-talesam@gmail.com> X-Mailer: git-send-email 2.55.0 MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: intel-xe@lists.freedesktop.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: Intel Xe graphics driver List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: intel-xe-bounces@lists.freedesktop.org Sender: "Intel-xe" Hi, v2 of the TLB invalidation ack stall series for ARL, tracked in: https://gitlab.freedesktop.org/drm/xe/kernel/-/work_items/8678 The investigation concluded since v1: the GuC always replied in time. The CPU was reading a stale cache line of the G2H CTB - the GT1 caching bug that i915 works around as Wa_22016122933 and xe never inherited. Thanks Daniele for spotting the GT1 pattern in the GuC logs and suggesting the test, and Matt for the review and the guidance to mirror the i915 workaround. Patch 3 is new and is the actual fix: Wa_22016122933 for xe, scoped like i915 (media GT on media version 13.00) and covering the GuC-shared allocations the CPU reads from. Validation of patch 3 on two ARL machines (7d51 and 7dd1): before, 20-60 ack stalls/day, every day, for weeks, on two GuC firmware versions; after, zero stalls across 6+ days combined and >5M TLB invalidations. The 7dd1 machine, which could not survive a day of media workloads on xe without a platform freeze, ran 34h+ continuously including video transcoding with zero incidents. Patches 1-2 are the diagnostics that made the investigation possible, updated per Matt's v1 review. v1 -> v2: - Dropped the "kick" workaround (RFC patch 3): obsolete now that the root cause is fixed by Wa_22016122933. - Patch 1: unified with the existing devcoredump path - __xe_devcoredump() taking a GT plus nullable q/job, with xe_devcoredump()/xe_devcoredump_gt() wrapper macros (Matt). - Patch 2: record the first timed out seqno instead of the last one, and use xe_warn() (Matt). - New patch 3: implement Wa_22016122933. Based on today's drm-tip. Thanks, Tales Tales A. Mendonça (3): drm/xe: Capture devcoredump on TLB invalidation timeout drm/xe: Log when a timed out TLB invalidation ack finally arrives drm/xe: Implement Wa_22016122933 drivers/gpu/drm/xe/xe_devcoredump.c | 46 ++++++++++++++----------- drivers/gpu/drm/xe/xe_devcoredump.h | 15 +++++--- drivers/gpu/drm/xe/xe_guc.c | 16 +++++++++ drivers/gpu/drm/xe/xe_guc.h | 2 ++ drivers/gpu/drm/xe/xe_guc_ads.c | 3 +- drivers/gpu/drm/xe/xe_guc_ct.c | 6 ++-- drivers/gpu/drm/xe/xe_guc_log.c | 7 ++-- drivers/gpu/drm/xe/xe_guc_pc.c | 3 +- drivers/gpu/drm/xe/xe_tlb_inval.c | 39 +++++++++++++++++++++ drivers/gpu/drm/xe/xe_tlb_inval_types.h | 17 +++++++++ drivers/gpu/drm/xe/xe_wa_oob.rules | 1 + 11 files changed, 124 insertions(+), 31 deletions(-) -- 2.55.0