From nobody Mon Dec 1 16:58:19 2025 X-Original-To: dev-commits-doc-all@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4dKqq44k4Pz6JtwG for ; Mon, 01 Dec 2025 16:58:24 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256 client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "mxrelay.nyi.freebsd.org", Issuer "R12" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4dKqq444N7z3lS9 for ; Mon, 01 Dec 2025 16:58:24 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1764608304; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=JxaxqoqvbLiyufRHdjT2MiJIvd+DbWNV2IMVw0MPTfY=; b=eEp4Kh5KKcvYNhGBSx64KF1VUWUgTXtJN+tloBN/ppxo8syHw8niz5IWrP+jsBjmijxEo8 Vh18pLQDh5z17dD0L0lK/Iz5L0oky8SjHHWtteMKdlQW8WV4m1e6M3yPZycMKNpsMN333n CVi2tsSaGi3iuteLfSyW8fU7hLGkWqB9xN6gqAHnFXeKHTFreMKIzue/yt6mDst06vtBMB fCPfoPDJSuvQ96ZyOJSdsoJCyDMRmBz2SZbos0t+UwDjT25kVJf+k8LUd/BWkCdSLIxpDW l/N45HRdUBzecWK1n+fEMAuXDvzqdU9RUDdE36bMvR+LHr6cVSgwUQmc+F6HaQ== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1764608304; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=JxaxqoqvbLiyufRHdjT2MiJIvd+DbWNV2IMVw0MPTfY=; b=Vhgk+ECOCUk4KI0ifKlAE80oTd0PcleYoFpyhUiggGDDT8qyzymjBrWjdPbe0ZVFvpol2T +4cu9FwjqVH6ga3W5vHZCIg0/VMZhYe70o97EtmYH2nr8lajaz8vMkNfxyO5C5VA20NzfF 888P0l7lv/m/JK5GTHc0gD1jQUfTeYylMbpfqh6o0vSH8x6V/LgBs5OF32XNYVFN72Ro9m 3/52RSR6DGhkWrU1TZ1dqsy3YNFoiRe0ovK9uKfGPEd9ieYId3F4pTTYL43qTrzH0igArg anOmW2LN1X1fVYbNSF2QMMl6Tay+arEnTT1ZSF3hmipws64jr1LlWtO5KeTBXw== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1764608304; a=rsa-sha256; cv=none; b=XbQHpx9FyPf3JpczNilh7KSqi34EzeUkC/HiFLQLjbmun6IRdJDX37b5ysKAJmm/rym/pX GsZlUjUlDsoe9+OfgkrAQ2S2ZmItPLqMvo4d5t/fqI18EinOzUUt59mAS0UasfyRa7Fufn sLEcTge9zHPYn1+JWU8a4ll7unSON84PD2BrvKDYJiY3dX88/h6keAtQv2/kuaMFb7/gH6 daUduI7k5rO3evVAxbOHGyI0fA0YhO6hEFrvGnggNMJRo6Lr5OYlZaLCQi81GgldH9Edfh XYsuOJuxMZxlnkGKY1YhQ+zfzNzO4tdRr1FGWP+2aM1TM853wMHRZ/kwkF87ug== ARC-Authentication-Results: i=1; mx1.freebsd.org; none Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) by mxrelay.nyi.freebsd.org (Postfix) with ESMTP id 4dKqq43dTpzTZF for ; Mon, 01 Dec 2025 16:58:24 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from git (uid 1279) (envelope-from git@FreeBSD.org) id 9af9 by gitrepo.freebsd.org (DragonFly Mail Agent v0.13+ on gitrepo.freebsd.org); Mon, 01 Dec 2025 16:58:19 +0000 To: doc-committers@FreeBSD.org, dev-commits-doc-all@FreeBSD.org From: Olivier Certner Subject: git: 9481c40a80 - main - releases/15.0R/relnotes: Trim description of GPU slowness and VM domainset fixes List-Id: Commit messages for all branches of the doc repository List-Archive: https://lists.freebsd.org/archives/dev-commits-doc-all List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-doc-all@freebsd.org Sender: owner-dev-commits-doc-all@FreeBSD.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: olce X-Git-Repository: doc X-Git-Refname: refs/heads/main X-Git-Reftype: branch X-Git-Commit: 9481c40a8045bf3f97058076abe0c0dbff8069b0 Auto-Submitted: auto-generated Date: Mon, 01 Dec 2025 16:58:19 +0000 Message-Id: <692dc92b.9af9.42c2fbf1@gitrepo.freebsd.org> The branch main has been updated by olce: URL: https://cgit.FreeBSD.org/doc/commit/?id=9481c40a8045bf3f97058076abe0c0dbff8069b0 commit 9481c40a8045bf3f97058076abe0c0dbff8069b0 Author: Olivier Certner AuthorDate: 2025-12-01 16:51:57 +0000 Commit: Olivier Certner CommitDate: 2025-12-01 16:57:49 +0000 releases/15.0R/relnotes: Trim description of GPU slowness and VM domainset fixes Readers interested can look up the related commits, and I've written similar descriptions in the Q3 Status Reports. Sponsored by: The FreeBSD Foundation --- website/content/en/releases/15.0R/relnotes.adoc | 16 ++-------------- 1 file changed, 2 insertions(+), 14 deletions(-) diff --git a/website/content/en/releases/15.0R/relnotes.adoc b/website/content/en/releases/15.0R/relnotes.adoc index 44db64b364..cb4acedd46 100644 --- a/website/content/en/releases/15.0R/relnotes.adoc +++ b/website/content/en/releases/15.0R/relnotes.adoc @@ -881,15 +881,8 @@ gitref:960ee8094913[repository=src]. {{< sponsored "The FreeBSD Foundation" >}} Gradual slowdowns and freezes experienced by owners of some AMD GPUs using the amdgpu DRM driver from the `drm-kmod` ports, starting with v5.15 (`graphics/drm-515-kmod` port), have been fixed. -In particular, owners of graphics cards with Green Sardine, Polaris 10 and 20 chips were known to be affected. +In particular, owners of graphics cards with Green Sardine, Polaris 10 and 20 and Vega chips were known to be affected. Recent Intel-based GPUs (gen 13+) may also have been affected. -The main cause is that the Linux's DRM subsystem's TTM component frequently requests memory that is physically contiguous although this property is not strictly necessary, and the kernel was trying too hard to fulfill them, leading to longer and more frequent freezes as physical memory got more fragmented over time. -In the LinuxKPI, `linux_alloc_pages()` now honors `__GFP_NORETRY` by not trying to break superpage reservations or defragment memory if the request for contiguous physical memory cannot be fulfilled immediately. -Another cause was that, during recent LinuxKPI evolution, `kmalloc()` was changed to always return physically contiguous memory as it does in Linux, but unfortunately `kvzalloc()` relied on `kmalloc()` and this was not changed, effectively turning all large memory allocations of zeroed pages into costly physically contiguous ones. -On allocation success, the TTM component sets page attributes unconditionally, regardless of whether they are already in place, which triggerred expensive TLB shootdowns even when not necessary. -Yet another cause was a flaw in the code iterating over memory domains (NUMA) leading to re-examining the same domain multiple times even if it could not fulfill the contiguous allocation request. -More details about this are given below. -Finally, some useless temporary physically contiguous allocation routinely performed in the case of Carrizo, Polaris and Vega M based AMD GPUs was converted to a regular one in the DRM drivers from the latest `drm-*-kmod` ports. gitref:718d1928f874[repository=src], gitref:4ca9190251bb[repository=src], gitref:986edb19a49c[repository=src], @@ -897,12 +890,7 @@ gitref:9d1f3ce79d85[repository=src], gitref:da257e519bc0[repository=src] {{< sponsored "The FreeBSD Foundation" >}} -Multiple flaws were fixed in the code iterating over memory domains (NUMA). -A failing contiguous allocation request would lead to re-examine the same domain multiple times even if it could not fulfill the request, wasting time and increasing allocation latency. -This would happen up to 4 times for the common case of a single memory domain and the "first touch" policy. -The first domain selected by all allocation policies, except "first touch" in some cases, would be considered even if it was not in the allowed domains mask or had been marked as to ignore in a previous attempt with the same iterator. -After a failed first attempt and sleeping, waiting allocations would restart with the policy's first domain even if that one was still in a low memory condition. -Finally, the "interleave" policy would reset the iterator index when restarting, effectively resetting the initial domain in the round-robin phase that happens after allocation from the first domain failed. +The code iterating over memory domains (NUMA) was improved and fixed in a number of ways, resulting in particular in decreased latency for some graphical operations with DRM drivers. gitref:da257e519bc0[repository=src], gitref:83ad6d8d8eee[repository=src], gitref:b15ff7214020[repository=src]