[PATCH v7b 00/25] fix DRM_USE_DYNAMIC_DEBUG=y regression

jim.cromie at gmail.com jim.cromie at gmail.com
Sat Oct 14 22:54:08 UTC 2023


On Fri, Oct 13, 2023 at 4:48 PM Jim Cromie <jim.cromie at 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 at intel.com>
To: Jim Cromie <jim.cromie at gmail.com>
Subject: [jimc:dd-fix-7a] BUILD SUCCESS 8e96f63f570a462b859876601a5f795a15999f6b
Message-ID: <202310141826.AN7MAD40-lkp at 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

-- 
0-DAY CI Kernel Test Service
https://github.com/intel/lkp-tests/wiki


> Jim Cromie (25):

>   dyndbg: add for_each_boxed_vector

Im dropping this one, more trouble than its worth.
hopefully one falls out of flex-array work.


More information about the dri-devel mailing list