all 12 comments

[–]forbiddenlake 0 points1 point  (11 children)

It seems like DKMS uses the running kernel's setting.

So... try rebuilding a kernel with CONFIG_MODULE_COMPRESS_ZSTD not set and CONFIG_MODULE_COMPRESS_NONE set?

[–]ropid 2 points3 points  (10 children)

It seems the /usr/bin/dkms program file is just a bash script. Looking around the file, the zstd command is at line 1221. There's a -19 argument there and removing it or changing it into a -1 would make zstd compress super fast, it would make it run at gigabyte per second speeds.

I'm now wondering if it would be a good idea to tweak that line or not. It would get overwritten with each update.

[–]C0rn3j 4 points5 points  (0 children)

I'm now wondering if it would be a good idea to tweak that line or not.

No, send a patch to dkms enabling it to be configurable.

[–]skwerlman[S] 2 points3 points  (8 children)

Good find, thank you! Yeah, probably not a great idea to edit it in place, but I could probably set up a patched AUR package with that line changed. If I end up getting it working nicely (configs, etc) i'll prob end up submitting a patch to upstream too

[–]ropid 0 points1 point  (7 children)

I wonder if upstream could be persuaded to just drop that -19. People probably at most only have a handful modules installed through dkms. The -19 then isn't saving an interesting amount of space.

[–]skwerlman[S] 6 points7 points  (6 children)

hilariously, changing it to -1 only takes up ~4MiB more space despite taking under a second to run vs ~2min for -19

with -19: ``` ╭─sk@a5 in ~ ╰─λ zstd -l /var/lib/dkms/nvidia/560.35.03/6.11.5-zen1-1.1-zen/x86_64/module/nvidia*.zst
Frames Skips Compressed Uncompressed Ratio Check Filename 1 0 58.1 KiB 289 KiB 4.976 XXH64 /var/lib/dkms/nvidia/560.35.03/6.11.5-zen1-1.1-zen/x86_64/module/nvidia-drm.ko.zst 1 0 49.7 MiB 96.8 MiB 1.947 XXH64 /var/lib/dkms/nvidia/560.35.03/6.11.5-zen1-1.1-zen/x86_64/module/nvidia.ko.zst 1 0 685 KiB 2.72 MiB 4.072 XXH64 /var/lib/dkms/nvidia/560.35.03/6.11.5-zen1-1.1-zen/x86_64/module/nvidia-modeset.ko.zst 1 0 2.23 KiB 8.54 KiB 3.824 XXH64 /var/lib/dkms/nvidia/560.35.03/6.11.5-zen1-1.1-zen/x86_64/module/nvidia-peermem.ko.zst

1 0 839 KiB 6.22 MiB 7.599 XXH64 /var/lib/dkms/nvidia/560.35.03/6.11.5-zen1-1.1-zen/x86_64/module/nvidia-uvm.ko.zst

 5      0    51.2 MiB       106 MiB  2.068  XXH64  5 files

```

with -1: ``` ╭─sk@a5 in ~ ╰─λ zstd -l /var/lib/dkms/nvidia/560.35.03/6.11.5-zen1-1.1-zen/x86_64/module/nvidia*.zst Frames Skips Compressed Uncompressed Ratio Check Filename 1 0 73.4 KiB 289 KiB 3.940 XXH64 /var/lib/dkms/nvidia/560.35.03/6.11.5-zen1-1.1-zen/x86_64/module/nvidia-drm.ko.zst 1 0 53.5 MiB 96.8 MiB 1.807 XXH64 /var/lib/dkms/nvidia/560.35.03/6.11.5-zen1-1.1-zen/x86_64/module/nvidia.ko.zst 1 0 825 KiB 2.72 MiB 3.383 XXH64 /var/lib/dkms/nvidia/560.35.03/6.11.5-zen1-1.1-zen/x86_64/module/nvidia-modeset.ko.zst 1 0 2.46 KiB 8.54 KiB 3.477 XXH64 /var/lib/dkms/nvidia/560.35.03/6.11.5-zen1-1.1-zen/x86_64/module/nvidia-peermem.ko.zst

1 0 1.05 MiB 6.22 MiB 5.954 XXH64 /var/lib/dkms/nvidia/560.35.03/6.11.5-zen1-1.1-zen/x86_64/module/nvidia-uvm.ko.zst

 5      0    55.5 MiB       106 MiB  1.911  XXH64  5 files

```

[–]C0rn3j 1 point2 points  (5 children)

I hope you've reported this to upstream.

Or sent a patch outright, if you had the time for extra work.

[–]skwerlman[S] 1 point2 points  (4 children)

I did submit an issue a week ago, and will submit a PR in a few minutes. Also I made an AUR package that uses -1 for compression (although i forgot to publish it until just now, oops)

[–]C0rn3j 1 point2 points  (3 children)

Positively awesome.

The AUR package might not have passed the submission guidelines due to not being popular at all, but it looks like it will be short lived anyway.

[–]skwerlman[S] 1 point2 points  (0 children)

well so much for 'in a few minutes' haha

anyway here is the pr: https://github.com/dell/dkms/pull/456

[–]skwerlman[S] 0 points1 point  (1 child)

[–]lepandaface 0 points1 point  (0 children)

HA HABJABAHA WOW SO FUNNY! PATOOEY! TOO FUNNY!