On 8/24/22 11:38, Luna Jernberg wrote: > https://forum.endeavouros.com/t/failed-to-start-load-kernel-modules-on-boot-after-system-update-nvidia/30584/17?u=sradjoker > > On 8/24/22, Arnaldo Carvalho de Melo <arnaldo.melo@xxxxxxxxx> wrote: >> Em Wed, Aug 24, 2022 at 04:36:18PM +0200, Luna Jernberg escreveu: >>> The Nvidia driver breaks >> >> How? What are the messages? >> >> Here is a test on an Archlinux container: >> >> [perfbuilder@758097c04011 dwarves-1.24]$ pahole --version >> v1.24 >> [perfbuilder@758097c04011 dwarves-1.24]$ cat /etc/os-release >> NAME="Arch Linux" >> PRETTY_NAME="Arch Linux" >> ID=arch >> BUILD_ID=rolling >> VERSION_ID=TEMPLATE_VERSION_ID >> ANSI_COLOR="38;2;23;147;209" >> HOME_URL="https://archlinux.org/" >> DOCUMENTATION_URL="https://wiki.archlinux.org/" >> SUPPORT_URL="https://bbs.archlinux.org/" >> BUG_REPORT_URL="https://bugs.archlinux.org/" >> LOGO=archlinux-logo >> [perfbuilder@758097c04011 dwarves-1.24]$ pahole list_head >> struct list_head { >> struct list_head * next; /* 0 8 */ >> struct list_head * prev; /* 8 8 */ >> >> /* size: 16, cachelines: 1, members: 2 */ >> /* last cacheline: 16 bytes */ >> }; >> [perfbuilder@758097c04011 dwarves-1.24]$ pahole --sizes | sort -k2 -nr | >> head >> rcu_state 300608 7 >> cmp_data 290904 1 >> dec_data 274520 1 >> cpu_entry_area 241664 0 >> kvm 190016 6 >> pglist_data 173440 6 >> ZSTD_DCtx_s 161480 6 >> saved_cmdlines_buffer 131104 1 >> debug_store_buffers 131072 0 >> hid_parser 110848 1 >> [perfbuilder@758097c04011 dwarves-1.24]$ >> >>> On 8/24/22, Arnaldo Carvalho de Melo <arnaldo.melo@xxxxxxxxx> wrote: >>>> Em Wed, Aug 24, 2022 at 03:23:29PM +0200, Luna Jernberg escreveu: >>>>> This package breaks on Arch Linux at the moment and if you are using >>>>> Arch >>>>> its recommended that you downgrade to 1.23 >>>> >>>> Breaks in what sense? Can you please provide details? >>>> >>>> - Arnaldo >>>> >>>>> On Tue, Aug 23, 2022 at 1:59 AM Arnaldo Carvalho de Melo >>>>> <acme@xxxxxxxxxx> >>>>> wrote: >>>>> >>>>>> Hi, >>>>>> >>>>>> The v1.24 release of pahole and its friends is out, with >>>>>> faster >>>>>> BTF generation by parallelizing the encoding part in addition to the >>>>>> previoulsy parallelized DWARF loading, support for 64-bit BTF >>>>>> enumeration >>>>>> entries, signed BTF encoding of 'char', exclude/select DWARF loading >>>>>> based on the language that generated the objects, etc. >>>>>> >>>>>> Main git repo: >>>>>> >>>>>> git://git.kernel.org/pub/scm/devel/pahole/pahole.git >>>>>> >>>>>> Mirror git repo: >>>>>> >>>>>> https://github.com/acmel/dwarves.git >>>>>> >>>>>> tarball + gpg signature: >>>>>> >>>>>> https://fedorapeople.org/~acme/dwarves/dwarves-1.24.tar.xz >>>>>> https://fedorapeople.org/~acme/dwarves/dwarves-1.24.tar.bz2 >>>>>> https://fedorapeople.org/~acme/dwarves/dwarves-1.24.tar.sign >>>>>> >>>>>> Thanks a lot to all the contributors and distro packagers, >>>>>> you're >>>>>> on the >>>>>> CC list, I appreciate a lot the work you put into these tools, >>>>>> >>>>>> Best Regards, >>>>>> >>>>>> BTF encoder: >>>>>> >>>>>> - Add support to BTF_KIND_ENUM64 to represent enumeration entries >>>>>> with >>>>>> more than 32 bits. >>>>>> >>>>>> - Support multithreaded encoding, in addition to DWARF multithreaded >>>>>> loading, speeding up the process. >>>>>> >>>>>> Selected just like DWARF multithreaded loading, using the 'pahole >>>>>> -j' >>>>>> option. >>>>>> >>>>>> - Encode 'char' type as signed. >>>>>> >>>>>> BTF Loader: >>>>>> >>>>>> - Add support to BTF_KIND_ENUM64. >>>>>> >>>>>> pahole: >>>>>> >>>>>> - Introduce --lang and --lang_exclude to specify the language the >>>>>> DWARF compile units were originated from to use or filter. >>>>>> >>>>>> Use case is to exclude Rust compile units while aspects of the >>>>>> DWARF generated for it get sorted out in a way that the kernel >>>>>> BPF verifier don't refuse loading the BTF generated from them. >>>>>> >>>>>> - Introduce --compile to generate compilable code in a similar >>>>>> fashion >>>>>> to: >>>>>> >>>>>> bpftool btf dump file vmlinux format c > vmlinux.h >>>>>> >>>>>> As with 'bpftool', this will notice type shadowing, i.e. multiple >>>>>> types >>>>>> with the same name and will disambiguate by adding a suffix. >>>>>> >>>>>> - Don't segfault when processing bogus files. >>>>>> >>>> >>>> -- >>>> >>>> - Arnaldo >>>> >> >> -- >> >> - Arnaldo >> Can you try a build of the kernel or the by passing the --skip_encoding_btf_enum64 to scripts/pahole-flags.sh? Here's a patch for either in tree scripts/pahole-flags.sh or /usr/lib/modules/5.19.3-arch1-1/build/scripts/pahole-flags.sh diff --git a/scripts/pahole-flags.sh b/scripts/pahole-flags.sh index 0d99ef17e4a528..1f1f1d397c399a 100755 --- a/scripts/pahole-flags.sh +++ b/scripts/pahole-flags.sh @@ -19,5 +19,9 @@ fi if [ "${pahole_ver}" -ge "122" ]; then extra_paholeopt="${extra_paholeopt} -j" fi +if [ "${pahole_ver}" -ge "124" ]; then + # see PAHOLE_HAS_LANG_EXCLUDE + extra_paholeopt="${extra_paholeopt} --skip_encoding_btf_enum64" +fi echo ${extra_paholeopt} - Martin Rodriguez Reboredo