https://linen.dev/ logo
Join Discord
Powered by
# general
  • b

    blue-flower-12209

    08/27/2025, 2:32 PM
    Nvidia drivers won't load because of signatures and whatnot, for me
  • c

    creamy-advantage-22176

    08/27/2025, 2:32 PM
    I'm on AMD, idk what the drivers are doing
  • c

    creamy-advantage-22176

    08/27/2025, 2:32 PM
    It might just be a leathal combination of KDE Plasma + the drivers tbh
  • b

    blue-flower-12209

    08/27/2025, 2:33 PM
    For me, benchmarking is paramount so I decided to opt out of WSL, though my dev setup originally used it
  • c

    creamy-advantage-22176

    08/27/2025, 2:33 PM
    the other day, I edited my
    LD_LIBRARY_PATH
    to include my brew folder to test something, and that causes Plasma to crash at boot time :/
  • c

    creamy-advantage-22176

    08/27/2025, 2:33 PM
    On windows though, is WSL actually more "costly" than a VM?
  • c

    creamy-advantage-22176

    08/27/2025, 2:33 PM
    although NTFS 😔
  • b

    blue-flower-12209

    08/27/2025, 2:35 PM
    Probably, is my guess
  • b

    blue-flower-12209

    08/27/2025, 2:35 PM
    Not as good as native
  • b

    better-helmet-21984

    08/27/2025, 2:44 PM
    https://lore.kernel.org/io-uring/6adf4bd06950d999f127595fe4d24d048ce03f5f.1756300192.git.asml.silence@gmail.com/T/#u
  • b

    better-helmet-21984

    08/27/2025, 2:44 PM
    as per our discussion yesterday
  • b

    better-helmet-21984

    08/27/2025, 2:45 PM
    patch 1 can be ignored, patch 2 is identical to the one I did (lol)
  • b

    better-helmet-21984

    08/27/2025, 2:45 PM
    but I like the query interface better
  • c

    creamy-advantage-22176

    08/27/2025, 2:57 PM
    not sure I agree, to me it seems like a more complicated interface which is harder to reason about
  • c

    creamy-advantage-22176

    08/27/2025, 2:59 PM
    I don't understand the need for the additional
    IO_URING_QUERY_OPCODES
    enum with the additional
    io_uring_query_hdr
    arguments over the versioned struct approach tbh
  • a

    ambitious-wire-70260

    08/27/2025, 3:09 PM
    What is the purpose of
    sigmask_sz
    in
    io_uring_getevents_arg
    ?
  • b

    better-helmet-21984

    08/27/2025, 3:32 PM
    it's mean to replace the probe variant, so basically a fuller interface for both the new bits we discussed yesterday, but also serve as the probe interface. which I do think is a good thing. I'll spend some time later today playing with this and see where we end up
  • c

    creamy-advantage-22176

    08/27/2025, 3:34 PM
    Hmm
  • a

    ambitious-wire-70260

    08/27/2025, 4:18 PM
    I can't seem to make the
    io_uring_enter
    sigmask argument work. I have this SIGPIPE coming from a socket write that comes through
    io_uring_enter
    . If I use
    pthread_sigmask
    to mask it, the signal goes away. If I use the supposedly equivalent sigmask argument, it still comes through.
  • b

    better-helmet-21984

    08/27/2025, 4:22 PM
    what does your io_uring_enter() call look like?
  • a

    ambitious-wire-70260

    08/27/2025, 4:29 PM
    Copy code
    CPP
        sigset_t sigset_1;
        vsm_verify(pthread_sigmask(SIG_BLOCK, nullptr, &sigset_1) == 0);
        debug_print_sigset("old", sigset_1);
    
        vsm_verify(sigaddset(&sigset_1, SIGPIPE) == 0);
        debug_print_sigset("new", sigset_1);
    
    #if 0
        // Use pthread_sigmask to block SIGPIPE temporarily:
    
        sigset_t sigset_2;
        vsm_verify(pthread_sigmask(SIG_BLOCK, &sigset_1, &sigset_2) == 0);
    
        struct sigset_cancel
        {
            sigset_t* sigset;
    
            ~sigset_cancel()
            {
                vsm_verify(pthread_sigmask(SIG_SETMASK, sigset, nullptr) == 0);
            }
        };
        sigset_cancel sigmask_cancel;
        sigmask_cancel.sigset = &sigset_2;
    #endif
    
        fprintf(stderr, "enter-1\n");
        int const r = io_uring_enter(
            static_cast<unsigned>(io_uring_fd),
            to_submit,
            min_complete,
            flags,
            &sigset_1);
        fprintf(stderr, "enter-2\n");
  • a

    ambitious-wire-70260

    08/27/2025, 4:30 PM
    Copy code
    sigset (old):
      00000000000000000000000000000000
      00000000000000000000000000000000
      00000000000000000000000000000000
      00000000000000000000000000000000
      00000000000000000000000000000000
      00000000000000000000000000000000
      00000000000000000000000000000000
      00000000000000000000000000000000
    sigset (new):
      00100000000000000000000000000000
      00000000000000000000000000000000
      00000000000000000000000000000000
      00000000000000000000000000000000
      00000000000000000000000000000000
      00000000000000000000000000000000
      00000000000000000000000000000000
      00000000000000000000000000000000
    enter-1
    vasama@desktop:~/c/allio/build/gcc-asan/Debug$ echo $?
    141
  • a

    ambitious-wire-70260

    08/27/2025, 4:42 PM
    Oh, no, I think I've misunderstood how signal masking works. Even if it's masked, it still gets raised when unmasked.
  • a

    ambitious-wire-70260

    08/27/2025, 4:45 PM
    But that leaves me with a new question: what is the use case for the sigmask argument in
    io_uring_enter
    ?
  • b

    blue-flower-12209

    08/29/2025, 5:05 PM
    Hmm, out of curiosity, is it normal for localhost tcp zc send to actually copy?
  • b

    blue-flower-12209

    08/29/2025, 5:06 PM
    I was casually re-reading the docs today and saw that we could introspect the send nowadays
  • b

    blue-flower-12209

    08/29/2025, 5:07 PM
    This assertion is tripping for me in my tests:
    assert!(cqe.res != liburing_rs::IORING_NOTIF_USAGE_ZC_COPIED as _);
    Tbf, I am using really small sends in my unit tests so my guess is that it's better to copy for small buffers and do real zc for large buffers
  • b

    blue-flower-12209

    08/29/2025, 5:07 PM
    Maybe I just need another unit test for large sends, at like 256kb or something
  • b

    better-helmet-21984

    08/30/2025, 3:51 PM
    it is yes, on linux localhost is an odd concoction. so yes, you won't have zc working there
  • b

    blue-flower-12209

    08/30/2025, 4:24 PM
    Awesome. Thanks!