| 9 Nov 2022 |
@elvishjerricco:matrix.org | well old initrd definitely uses udev settle | 06:44:10 |
@elvishjerricco:matrix.org | https://github.com/NixOS/nixpkgs/blob/master/nixos/modules/system/boot/stage-1-init.sh#L259 | 06:44:32 |
@elvishjerricco:matrix.org | ZFS stuff doesn't happen until after that | 06:44:42 |
@uep:matrix.org | ok, no messages about it, at least, and no delay | 06:45:12 |
@elvishjerricco:matrix.org | Yea I'd like to know what that's about... | 06:45:35 |
@elvishjerricco:matrix.org | Maybe we just have too many udev rules in stage 1? | 06:45:44 |
@uep:matrix.org | there is an annoying pause waiting for a swap zvol to appear, after the passwd prompt | 06:46:20 |
@elvishjerricco:matrix.org | (sidenote, you really don't want your swap on ZFS at all) | 06:46:55 |
@uep:matrix.org | ah, damn, the laptop is doing a big update as part of the rebuild, may take a minute ore | 06:46:59 |
@uep:matrix.org | yeah, I know. Bit of legacy issue there with too-small a real swap partition | 06:47:27 |
@uep:matrix.org | the zvol is lower priority and rarely gets hit | 06:47:58 |
@uep:matrix.org | (the pool and partitioning long pre-dates nixos, it was running ubuntu zfs for years) | 06:48:54 |
@uep:matrix.org | ok, very different timing on the laptop! | 06:50:06 |
@uep:matrix.org | no wait for settling, and 🎉 no wait now for the zvol swap to appear, so faster boot overall | 06:50:33 |
@elvishjerricco:matrix.org | well that's good at least :) | 06:50:52 |
@uep:matrix.org | that was actually the reason to try, I sort of expected it might help | 06:51:25 |
@elvishjerricco:matrix.org | in theory it should | 06:51:36 |
@elvishjerricco:matrix.org | in practice it seems a second or 3 slower on a lot of people's machines | 06:51:53 |
@uep:matrix.org | clearly depends on what's in the device tree. | 06:52:22 |
@uep:matrix.org | Nov 09 17:49:44 localhost systemd[1]: Finished Coldplug All udev Devices.
Nov 09 17:49:44 localhost systemd[1]: Starting Wait for udev To Complete Device Initialization...
Nov 09 17:49:44 localhost systemd[1]: Finished Wait for udev To Complete Device Initialization.
| 06:54:34 |
@uep:matrix.org | (more messages in between of course, but the timing delay is not noticable on screen) | 06:55:02 |
@uep:matrix.org | In reply to @elvishjerricco:matrix.org the udev settle thing confused me, but then I remembered zfs pulls that in missed this before, there's even a note about it :)
Nov 09 17:49:44 localhost udevadm[132]: systemd-udev-settle.service is deprecated. Please fix zfs-import-rpool.service not to pull it in.
| 06:59:32 |
@elvishjerricco:matrix.org | yep. There's even a github issue about it: https://github.com/openzfs/zfs/issues/10891 | 07:01:00 |
@uep:matrix.org | comments in there refer to what we discussed as "incremental assembly" | 07:08:10 |
@uep:matrix.org | which is a reasonable name | 07:08:15 |
@uep:matrix.org | anyway, at least when it appears we can just use it via systemd | 07:20:01 |
@elvishjerricco:matrix.org | Yea. Stage 2 ought to be able to use the cache file in a systemd generator to just generate the device dependencies for an import service, so that probably should have been done years ago | 07:20:53 |
@elvishjerricco:matrix.org | but stage 1 can't have such a cache file | 07:21:03 |
@uep:matrix.org | https://github.com/openzfs/zfs/issues/10891#issuecomment-1226230262 | 07:28:07 |
@uep:matrix.org | this was my next thought! :) | 07:28:16 |