Message ID | 20231013224818.3456409-1-jim.cromie@gmail.com (mailing list archive) |
---|---|
Headers | show |
Series | fix DRM_USE_DYNAMIC_DEBUG=y regression | expand |
On Fri, Oct 13, 2023 at 4:48 PM Jim Cromie <jim.cromie@gmail.com> wrote: > > hi Jason, DRM-folk > > (now with checkpatch fixes) I missed fixing boxed-vector, am just dropping it. > > This patchest fixes the chicken-egg initialization problem in the 1st > version of ddebug-class-maps, that DRM-CI uncovered. > > The root-problem was DECLARE_DYNDBG_CLASSMAP, which broke the K&R rule: > "define once, refer many". In patch 14 it is replaced by: > > DYNDBG_CLASSMAP_DEFINE - define and export a struct ddebug_class_map > DYNDBG_CLASSMAP_USE - ref the exported struct > > test-dynamic-debug is also extended with a -submod.ko, in order to > recapitulate the drm & drivers initialization scenario. > > They're on v6.6-rc5 now, and apply cleanly to drm-tip/drm-tip. > > Ive been running recent revs on rc3+, on my desktop and laptop. > > The final blocker was a missing __align(8) on the ddebug_class_user > record inserted by DYNDBG_CLASSMAP_USE. This caused DRM=y (builtin > only) to have a corrupt record for drm_kms_helper (builtin dependent). > Curiously, a clang build did not exhibit this problem. > > > Widespread testing is appreciated. > I have scripts if anyone wants them. > > I'll forward lkp-robot reports here when I get them. > Patches also at https://github.com/jimc/linux (dd-fix-7b) > Date: Sat, 14 Oct 2023 18:22:28 +0800 From: kernel test robot <lkp@intel.com> To: Jim Cromie <jim.cromie@gmail.com> Subject: [jimc:dd-fix-7a] BUILD SUCCESS 8e96f63f570a462b859876601a5f795a15999f6b Message-ID: <202310141826.AN7MAD40-lkp@intel.com> User-Agent: s-nail v14.9.24 tree/branch: https://github.com/jimc/linux.git dd-fix-7a branch HEAD: 8e96f63f570a462b859876601a5f795a15999f6b drm: restore CONFIG_DRM_USE_DYNAMIC_DEBUG un-BROKEN elapsed time: 3187m configs tested: 103 configs skipped: 2 The following configs have been built successfully. More configs may be tested in the coming days. tested configs: alpha allnoconfig gcc alpha allyesconfig gcc alpha defconfig gcc arc allmodconfig gcc arc allnoconfig gcc arc allyesconfig gcc arc defconfig gcc arc randconfig-001-20231012 gcc arm allmodconfig gcc arm allnoconfig gcc arm allyesconfig gcc arm defconfig gcc arm randconfig-001-20231013 gcc arm64 allmodconfig gcc arm64 allnoconfig gcc arm64 allyesconfig gcc arm64 defconfig gcc csky allmodconfig gcc csky allnoconfig gcc csky allyesconfig gcc csky defconfig gcc i386 allmodconfig gcc i386 allnoconfig gcc i386 allyesconfig gcc i386 debian-10.3 gcc i386 defconfig gcc i386 randconfig-001-20231013 gcc i386 randconfig-002-20231013 gcc i386 randconfig-003-20231013 gcc i386 randconfig-004-20231013 gcc i386 randconfig-005-20231013 gcc i386 randconfig-006-20231013 gcc loongarch allmodconfig gcc loongarch allnoconfig gcc loongarch allyesconfig gcc loongarch defconfig gcc loongarch randconfig-001-20231012 gcc m68k allmodconfig gcc m68k allnoconfig gcc m68k allyesconfig gcc m68k defconfig gcc microblaze allmodconfig gcc microblaze allnoconfig gcc microblaze allyesconfig gcc microblaze defconfig gcc mips allmodconfig gcc mips allnoconfig gcc mips allyesconfig gcc nios2 allmodconfig gcc nios2 allnoconfig gcc nios2 allyesconfig gcc nios2 defconfig gcc openrisc allmodconfig gcc openrisc allnoconfig gcc openrisc allyesconfig gcc openrisc defconfig gcc parisc allmodconfig gcc parisc allnoconfig gcc parisc allyesconfig gcc parisc defconfig gcc parisc64 defconfig gcc powerpc allnoconfig gcc powerpc allyesconfig gcc riscv allmodconfig gcc riscv allnoconfig gcc riscv allyesconfig gcc riscv defconfig gcc riscv randconfig-001-20231012 gcc riscv rv32_defconfig gcc s390 allmodconfig gcc s390 allnoconfig gcc s390 allyesconfig gcc s390 defconfig gcc s390 randconfig-001-20231012 gcc sh allmodconfig gcc sh allnoconfig gcc sh allyesconfig gcc sh defconfig gcc sparc allmodconfig gcc sparc allnoconfig gcc sparc allyesconfig gcc sparc defconfig gcc sparc randconfig-001-20231013 gcc sparc64 allmodconfig gcc sparc64 allyesconfig gcc sparc64 defconfig gcc um allmodconfig clang um allnoconfig clang um allyesconfig clang um defconfig gcc um i386_defconfig gcc um x86_64_defconfig gcc x86_64 allnoconfig gcc x86_64 allyesconfig gcc x86_64 defconfig gcc x86_64 randconfig-001-20231013 gcc x86_64 randconfig-002-20231013 gcc x86_64 randconfig-003-20231013 gcc x86_64 randconfig-004-20231013 gcc x86_64 randconfig-005-20231013 gcc x86_64 randconfig-006-20231013 gcc x86_64 rhel-8.3-rust clang x86_64 rhel-8.3 gcc