Re: stable/13 - amdgpu broken with n253286-d8a88ec38149

From: Adam McDougall <mcdouga9_at_egr.msu.edu>
Date: Mon, 19 Dec 2022 00:34:19 UTC
Hello,

I have a Dell R6525 which I use to make new FreeBSD builds from -stable 
and distribute them to other systems as upgrades. I updated my 13-STABLE 
tree to 20221217 and the kernel hangs during boot after printing 
messages from mlx5 driver. I'm not even using a GPU. I don't know how 
many of my systems this would affect but I'd rather prevent it than find 
out. I recompiled the kernel commit by commit and d8a88ec38149 makes it 
hang. I think I have little exposure to binary compat issues with 13 so 
I will probably revert the commit locally for now. It boots with that 
commit reverted though.

On 12/18/2022 11:55 AM, Jeff Gibbons wrote:
> I see exactly the same thing Jonathan does, but in my case with
> i915kms.ko (which also comes from the /usr/ports/graphics/drm-510-kmod/
> port, like his amdgpu.ko does).  My video device is Intel's
> 'WhiskeyLake-U GT2 [UHD Graphics 620]'.  This bug report may be
> related:
>
>     https://bugs.freebsd.org/bugzilla/show_bug.cgi?id=267421
>
> After I upgraded my Lenovo Thinkpad T490s laptop with yesterday's
> /usr/src/, my laptop hung completely every time I tried to load
> /boot/modules/i915kms.ko, requiring a power-off/power-on.  It hung
> when loading i915kms even after I rebuilt and reinstalled
> /usr/ports/graphics/drm-510-kmod/ .
>
> I tried many things, including rebuilding several different recent
> versions of /usr/ports/graphics/drm-510-kmod/, but nothing cured it.
>
> After seeing Jonathan's email to this list, I tried reverting my
> /usr/src/ to Friday before that commit date that he gave, and
> after rebuilding my system and then rebuilding/installing
> /usr/ports/graphics/drm-510-kmod/ again (drm-510-kmod-5.10.113_8),
> I can now kldload i915kms again without crashing, and everything
> works.
>
> It behaves as if something around the time of that commit that
> Jonathan pointed to:
>
>     commit d8a88ec381498f5942403088d28ee325b92e9a78
>     (Date: Fri Dec 16 03:15:28 2022 -0600)
>
> is preventing FreeBSD from working with /usr/ports/graphics/drm-510-kmod/
>
> Jeff
> --
> Jeff Gibbons
>
>
> From: Jonathan Vasquez <jon_at_xyinn.org>
> Date: Sat, 17 Dec 2022 16:43:15 UTC
>
> I redid another clean install of latest stable/13 and latest ports for drm-kmod / drm-510-kmod/ and gpu-firmware-amd-kmod FLAVOR=sienna_cichlid and the same thing arises. The system locks up immediately when loading the amdgpu driver.
>
> current src commit:
>
> commit a3c07a933d5cb71a6d58cc9f0ecb5385a5e0ea29 (HEAD -> stable/13, origin/stable/13)
> Author: Rick Macklem <rmacklem@FreeBSD.org>
> Date: Sun Nov 13 12:16:06 2022 -0800
> rpcb_clnt.c: Do not force use of UDP
>
> current ports commit:
>
> commit 414eb4d80eb56f154435a5749ec08811bf192a83 (HEAD -> main, origin/main, origin/HEAD)
> Author: Jan Beich <jbeich@FreeBSD.org>
> Date: Sat Dec 17 16:14:16 2022 +0000
>
> emulators/yuzu: requires C++20 after 7b88749b5e69
> https://github.com/yuzu-emu/yuzu/commit/07632ad82508
>
> root@leslie:/usr/src # pkg info drm-kmod
> drm-kmod-20220907_1
> Name : drm-kmod
> Version : 20220907_1Installed on : Sat Dec 17 11:32:01 2022 EST
>
> root@leslie:/usr/src # pkg info drm-510-kmod
> drm-510-kmod-5.10.113_8
> Name : drm-510-kmod
> Version : 5.10.113_8Installed on : Sat Dec 17 11:32:01 2022 EST
>
> Installing sienna_cichlid as usual gives the correct information:
>
> make install clean FLAVOR=sienna_cichlid
>
> Installing gpu-firmware-amd-kmod-sienna-cichlid-20221207_1...
> ===> Cleaning for gpu-firmware-amd-kmod-sienna-cichlid-20221207_1
>
> Although using pkg info says verde, I think that info is wrong even though sienna_cichlid is in fact being used (but that's probably a separate issue):
>
> gpu-firmware-amd-kmod-verde-20221207_1
> Name : gpu-firmware-amd-kmod-verde
> Version : 20221207_1
> Installed on : Sat Dec 17 09:39:52 2022 EST
> Origin : graphics/gpu-firmware-amd-kmod
> Architecture : FreeBSD:13:amd64
> Prefix : /usr/local
> Categories : kld graphics
> Licenses : AMD
> Maintainer : x11@FreeBSD.org
> WWW : https://github.com/freebsd/drm-kmod-firmware
> Comment : Firmware modules for verde AMD GPUs
> Annotations :
> FreeBSD_version: 1301510
> flavor : verde
>
> Jonathan Vasquez
> PGP: 34DA 858C 1447 509E C77A D49F FB85 90B7 C4CA 5279
> Sent with ProtonMail Secure Email
>
> ------- Original Message -------
> On Saturday, December 17th, 2022 at 08:52, Jonathan Vasquez <jon@xyinn.org> wrote:
>
>> Hey Emmanuel,
>>
>> What do you recommend then? As part of my testing yesterday (and what I described) was that I pulled down latest stable/13 and latest ports. Cleanly recompiled world, kernel, and drm-510-kmod but the system freezes when loading the amdgpu module. From my understanding drm-kmod is just meta port which will bring in drm-510-kmod so recompiling drm-kmod itself won't make s difference if I already recompiled drm-510-kmod.
>>
>> Jonathan Vasquez
>> PGP: 34DA 858C 1447 509E C77A D49F FB85 90B7 C4CA 5279
>> Sent with ProtonMail Secure Email
>>
>> Sent from Proton Mail mobile
>>
>> -------- Original Message --------
>> On Dec 17, 2022, 03:51, Emmanuel Vadot < manu@bidouilliste.com> wrote:
>>
>>> Hello Jonathan, On Sat, 17 Dec 2022 02:42:42 +0000 Jonathan Vasquez wrote: > Oh, I think I understand a bit better what you meant. Yup, after I found which stable/13 commit was problematic, I compiled HEAD~1 which still works, then I recompiled drm-510-kmod and it's working now. But I still wanted to report it since I'm guessing there will need to be some tweaks made to drm-510-kmod so that it works again with the latest stable/13. There is no tweaks to be done for drm-kmod. In fact in the last two days to commits who broke KBI between 13.1 and stable/13 were taken care of (one I've reverted and the other one being the one Doug fixed). Yes it's a bit unfortunate for stable/13 users that we broke KBI a few times and that you needed to recompile drm-kmod for it to work but what I want is when 13.2 is released users don't have to recompile the ports and can safely upgrade their machines (as the drm-510-kmod port will be compiled on 13.1 for 3 months). Cheers, > Jonathan Vasquez > PGP: 34DA 858C 1447 509E C77A D49F FB85 90B7 C4CA 5279 > Sent with ProtonMail Secure Email > > ------- Original Message ------- > On Friday, December 16th, 2022 at 21:31, Jonathan Vasquez wrote: > > > Hey Doug, > > > > Not a problem. I actually did clean rebuilds of everything, including pulling the latest ports and cleanly reinstalling drm-510-kmod and gpu-firmware-amd-kmod. But it still failed. > > > > Jonathan Vasquez > > PGP: 34DA 858C 1447 509E C77A D49F FB85 90B7 C4CA 5279 > > Sent with ProtonMail Secure Email > > > > Sent from Proton Mail mobile > > > > -------- Original Message -------- > > On Dec 16, 2022, 21:05, Doug Moore < unkadoug@gmail.com> wrote: > > > >> Short answer - try rebuilding kmod from scratch. > >> > >> Long answer - I moved into stable/13 changes from main that changed some binary-level representations. One who found that the kmod he built before those changes no longer worked pointed out my error. So I made a change to stable/13 recently to restore the original representations, and satisfied that person?s complaint. But, someone who built kmod recently will find things broken, the way the original fellow did. I can only apologize and ask you to rebuild non-kernel stuff based on the stable/13 of more than a day ago. I hadn?t considered the impact of my changes on non-kernel code. > >> Doug > >> > >> Sent from my iPad > >> > >>> On Dec 16, 2022, at 6:50 PM, Jonathan Vasquez wrote: > >> > >>> ? > >>> Hey all, > >>> > >>> it seems that my AMD Radeon 6900 XT doesn't load the amdgpu properly anymore. The machine will crash immediately upon load. After a bisect, I found the posted commit. This card uses the sienna_cichlid? flavor for gpu-firmware-amd-kmod. > >>> > >>> commit d8a88ec381498f5942403088d28ee325b92e9a78 > >>> Author: Doug Moore > >>> Date: Fri Dec 16 03:15:28 2022 -0600 > >>> > >>> rb_tree: restore binary compat w/ 13 > >>> > >>> A change to RB_COLOR_INSERT, when merged into stable/13, broke binary > >>> compatibility. For 13, call the new function RB_DO_COLOR_INSERT, and > >>> restore the old function with the original name and parameters. Define > >>> RB_COLOR_INSERT in tree.h, and remove changes to the linux rbtree > >>> header. > >>> > >>> Another change altered the order of pointers in the RB_ENTRY struct. > >>> For 13, restore the original order. > >>> > >>> Reported by: manu > >>> Reviewed by: hselasky > >>> Tested by: manu > >>> Differential Revision: https://reviews.freebsd.org/D37716 > >>> > >>> sys/compat/linuxkpi/common/include/linux/rbtree.h | 11 ++---- > >>> sys/sys/tree.h | 46 ++++++++++++++++------- > >>> > >>> Jonathan Vasquez > >>> PGP: 34DA 858C 1447 509E C77A D49F FB85 90B7 C4CA 5279 > >>> Sent with ProtonMail Secure Email -- Emmanuel Vadot
>