diff --git a/m/moss/manifest.x86_64.bin b/m/moss/manifest.x86_64.bin index 47178a72f..96529f7fa 100644 Binary files a/m/moss/manifest.x86_64.bin and b/m/moss/manifest.x86_64.bin differ diff --git a/m/moss/manifest.x86_64.jsonc b/m/moss/manifest.x86_64.jsonc index fc602e729..056938cfb 100644 --- a/m/moss/manifest.x86_64.jsonc +++ b/m/moss/manifest.x86_64.jsonc @@ -20,6 +20,7 @@ "/usr/lib/kernel/cmdline.d/10-amdgpu.cmdline", "/usr/lib/moss/moss-fstx.sh", "/usr/lib/systemd/system/moss-fstx.service", + "/usr/lib/systemd/system/moss-prime-asset-store-vfs-cache.service", "/usr/share/bash-completion/completions/moss", "/usr/share/defaults/etc/profile.d/80-command-not-found.sh", "/usr/share/fish/completions/moss.fish", @@ -63,6 +64,6 @@ } }, "source-name": "moss", - "source-release": "76", + "source-release": "77", "source-version": "0.25.1" } diff --git a/m/moss/pkg/moss-benchmark-time-to-prime-asset-store-vfs-cache.service b/m/moss/pkg/moss-benchmark-time-to-prime-asset-store-vfs-cache.service new file mode 100644 index 000000000..a856f84e6 --- /dev/null +++ b/m/moss/pkg/moss-benchmark-time-to-prime-asset-store-vfs-cache.service @@ -0,0 +1,8 @@ +[Unit] +Description=Time to prime moss asset store in vfs cache in the background +RequiresMount=/ + +[Service] +Type=oneshot +ExecStart=/usr/bin/bash -c "sync && echo 3 > /proc/sys/vm/drop_caches" +ExecStart=/usr/bin/bash -c "time nice -n20 ionice -c Idle find /.moss/assets |xargs --max-lines=1000 --max-procs=$(nproc) stat -t >/dev/null" diff --git a/m/moss/pkg/moss-prime-asset-store-vfs-cache.service b/m/moss/pkg/moss-prime-asset-store-vfs-cache.service new file mode 100644 index 000000000..72ad3f270 --- /dev/null +++ b/m/moss/pkg/moss-prime-asset-store-vfs-cache.service @@ -0,0 +1,10 @@ +[Unit] +Description=Prime moss asset store in vfs cache in the background +RequiresMountsFor=/ + +[Service] +Type=simple +ExecStart=/usr/bin/bash -c "time nice -n20 ionice -c Idle find /.moss/assets |xargs --max-lines=1000 --max-procs=$(nproc) stat -t >/dev/null" + +[Install] +WantedBy=basic.target diff --git a/m/moss/stone.yaml b/m/moss/stone.yaml index 30bd58078..6642fa749 100644 --- a/m/moss/stone.yaml +++ b/m/moss/stone.yaml @@ -5,7 +5,7 @@ # name : moss version : 0.25.1 -release : 76 +release : 77 summary : Serpent OS package manager license : MPL-2.0 homepage : https://github.com/serpent-os/tools @@ -61,3 +61,7 @@ install : | %install_file boot/module/module-setup.sh %(installroot)%(libdir)/dracut/modules.d/90moss/module-setup.sh %install_file boot/moss-fstx.service %(installroot)%(libdir)/systemd/system/moss-fstx.service %install_exe boot/moss-fstx.sh %(installroot)%(libdir)/moss/moss-fstx.sh + + # Ensure that blits happen against hot vfs cache (quicker first blits) + %install_file %(pkgdir)/moss-prime-asset-store-vfs-cache.service %(installroot)%(libdir)/systemd/system/moss-prime-asset-store-vfs-cache.service + %install_file %(pkgdir)/moss-benchmark-time-to-prime-asset-store-vfs-cache.service %(installroot)%(libdir)/systemd/system/moss-prime-asset-store-vfs-cache.service