io_uring

what went wrong with io_uring?

It's All Fucked Shirt $22.14

Thalidomide Vintage Ad Shirt $22.14

It's All Fucked Shirt $22.14

  1. 2 months ago
    Anonymous

    Did it though?
    Did it went wrong?

    • 2 months ago
      Anonymous

      Everything goes wrong when OP has something to do with it, so he's just projecting that onto io_uring.

  2. 2 months ago
    Anonymous

    Nothing. Google just intentionally uses old kernels.

  3. 2 months ago
    Anonymous

    bad programmers like to give nonspecific criticisms about software they don't understand in order to feel more competent and knowledgeable than they really are.

  4. 2 months ago
    Anonymous

    It's a useful feature that offers good performance... as long as you don't care about security.

  5. 2 months ago
    Anonymous

    Yet another Linux micro-optimization that's useful only for some very specific users and that turned out to be not well designed?

  6. 2 months ago
    Anonymous

    >what went wrong
    IO speed doesn't matter.
    Its never even close to being the bottleneck in any program. Enabling it means the thing that takes up 0.5% of your programs runtime runs in 0.4%, wowee.

    • 2 months ago
      Anonymous

      and for that insignificance you are compromising security

    • 2 months ago
      Anonymous

      io_uring isn't for I/O speed, it's to cut down syscall overhead.
      Here's how it works from my memory:
      >traditional I/O makes a syscall for each I/O operation (like a write)
      >io_uring avoids most syscalls
      >it's an synchronous ringbuffer with I/O commands
      >to start an I/O op, you write a command OP to the ringbuffer
      >the kernel will work down the command list without userspace interaction
      >this minimizes the number of required syscalls

      • 2 months ago
        Anonymous

        yeah i should have said IO syscall overhead doesn't matter

        i wasn't talking about the actual read / write speed, obviously io_uring does nothing to improve that

        • 2 months ago
          Anonymous

          Someone who's doing HFT would probably disagree.
          But yes, I don't know why they would add this shit just to micro-optimize some singular use cases some companies have.
          Even if you agree that you need it, why not at least make it generic to most syscalls?

          • 2 months ago
            Anonymous

            >Someone who's doing HFT would probably disagree
            i assume for anyone doing such expeditious operations its basically a requirement to have completely optimized the entire execution chain anyway. Like in HFT the process that makes trading decisions is probably written top to bottom in some very specific CPU microcode in the first place with 0 layers of abstractions. There are no syscalls to be worried about overhead for.

            >IO speed doesn't matter.
            [...]
            >Yet another Linux micro-optimization that's useful only for some very specific users
            try to implement async IO yourself, web is bound by IO (database, serving HTML/files)

            >web is bound by IO
            i dont believe that. I think you mean the web is bound by packet latency & IO speed, but not syscall overhead which is what io_uring improves. Syscall overhead executes in like .1% of the time it takes to actual read the file data and for a packet to reach you. You would never be able to tell the difference requesting pages off of a server with io_uring and one without.

          • 2 months ago
            Anonymous

            They put a httpd into the Linux kernel once.

          • 2 months ago
            Anonymous

            Why would they do HFT on a non-realtime OS?

    • 2 months ago
      Anonymous

      >IO speed doesn't matter.

      Yet another Linux micro-optimization that's useful only for some very specific users and that turned out to be not well designed?

      >Yet another Linux micro-optimization that's useful only for some very specific users
      try to implement async IO yourself, web is bound by IO (database, serving HTML/files)

      • 2 months ago
        Anonymous

        Do any web servers or databases support uring?
        To be honest if performance is that important, just come up with a way to run userspace and kernel in the same address space. Security isn't a concern, just isolate the whole thing which you'll do anyway.

        • 2 months ago
          Anonymous

          Nothing. It works.

          Many:
          equery d liburing
          * These packages depend on liburing:
          app-containers/lxc-5.0.3 (io-uring ? >=sys-libs/liburing-2)
          (io-uring ? >=sys-libs/liburing-2)
          app-emulation/qemu-8.2.2 (io-uring ? sys-libs/liburing)
          (io-uring ? sys-libs/liburing)
          dev-db/mariadb-10.11.6 (kernel_linux ? sys-libs/liburing)
          (kernel_linux ? sys-libs/liburing)
          net-fs/samba-4.19.4 (sys-libs/liburing[abi_x86_32(-)?,abi_x86_64(-)?,abi_x86_x32(-)?,abi_mips_n32(-)?,abi_mips_n64(-)?,abi_mips_o32(-)?,abi_s390_32(-)?,abi_s390_64(-)?])
          (sys-libs/liburing[abi_x86_32(-)?,abi_x86_64(-)?,abi_x86_x32(-)?,abi_mips_n32(-)?,abi_mips_n64(-)?,abi_mips_o32(-)?,abi_s390_32(-)?,abi_s390_64(-)?])
          sys-block/fio-3.34 (io-uring ? sys-libs/liburing)
          (io-uring ? sys-libs/liburing[static-libs(+)])
          (io-uring ? sys-libs/liburing)

          • 2 months ago
            Anonymous

            Do they actually use them?

    • 2 months ago
      Anonymous

      >IO speed doesn't matter.
      >IO speed doesn't matter.
      >IO speed doesn't matter.
      The state of IQfy these days.

      • 2 months ago
        Anonymous

        He's right, but he made the same semantics mistake as

        yeah i should have said IO syscall overhead doesn't matter

        i wasn't talking about the actual read / write speed, obviously io_uring does nothing to improve that

      • 2 months ago
        Anonymous

        IQfy - eets

    • 2 months ago
      Anonymous

      Maybe at your scale it doesn't matter but for some people it absolutely does.

      There are people out there with crazy fast networking and storage solutions. iouring is for them.

  7. 2 months ago
    Anonymous

    >what went wrong with io_uring?
    It's always been a bunch of shitty hacks made by dummies

  8. 2 months ago
    Anonymous

    Inferior to DirectStorage

    • 2 months ago
      Anonymous

      Silly marketing term

    • 2 months ago
      Anonymous

      How does it work?

  9. 2 months ago
    Anonymous

    >All IO goes through shared buffers
    >Sandboxing? What's that? Memory Safety? Nah, we coding this highly parallel kernel space shit in raw C with literally 0 security profiling or even just running valgrind, just pure raw dogging code.

    In principle, sure it's reasonable. Just a straight forward latency vs. throughput tradeoff right out of freshman year CS textbook. Implementation wise, absolute fricking disaster.

    • 2 months ago
      Anonymous

      What do you mean? The kernel probably has the most elaborate testing and debugging infrastructure (both in tree and out of tree) of all C projects ever.

      • 2 months ago
        Anonymous

        Just look at the mailserv for io_uring. It's literally Jens Axboe shitting it out piecemeal and 2 other devs just going " Yep, looks good! Perfect for gorgeous looks. Merge ASAP!"

        • 2 months ago
          Anonymous

          Surveying the mailing list's contents (which is years worth of shit) and analyzing it all would take too much effort.

          • 2 months ago
            Anonymous

            Well considering that the mailing list is the primary and often only site of discussion on kernel development, you should critically think about your statement here

            What do you mean? The kernel probably has the most elaborate testing and debugging infrastructure (both in tree and out of tree) of all C projects ever.

            (if you're that anon).

          • 2 months ago
            Anonymous

            I am. I don't follow kernel development closely. I just know that they do a lot of stuff. Like having address sanitizer in the kernel, static analyzers that are specifically for the kernel (Linus even wrote one, don't know if it's still in use), automatic fuzzing that finds bugs all the time, ...

  10. 2 months ago
    Anonymous

    Is it still missing audit and mac bindings? Last i heard read about the topic the argument was that it would eliminate the speed gains.

    • 2 months ago
      Anonymous

      >audit
      >mac
      What are these exactly?

      • 2 months ago
        Anonymous

        Audit is the linux auditing subsystem for logging kernel events, useful for debugging and endpoint detection
        MAC comes from mandatory access control, a security scheme implemented by some linux security modules (srlinux, apparmor, tomoyo, smack)

        • 2 months ago
          Anonymous

          uring sidesteps them? The implementation must be awfully low level and something that creates shitloads of extra codepaths.

  11. 2 months ago
    Anonymous

    Last i cared to look, yes.

  12. 2 months ago
    Anonymous

    God I hate Linux dev culture.
    >optimize
    >optimize
    >don't clean up
    >invent a new API that's faster!
    >don't clean up
    >create this bloated trash for FEATURES FEATURES FEATURES FEATURES
    Linux is the Windows of Unixes.

    • 2 months ago
      Anonymous

      Do you prefer Unix dev culture?
      >deoptimize
      >deoptimize
      >don't clean up
      >invent a new API that's slower!
      >don't clean up
      >create this bloated trash for NO FEATURES NO FEATURES NO FEATURES NO FEATURES

      • 2 months ago
        Anonymous

        That never happened.

  13. 2 months ago
    Anonymous

    RustBlack folk

    • 2 months ago
      Anonymous

      That has nothing to do with Rust.

  14. 2 months ago
    Anonymous
  15. 2 months ago
    Anonymous

    >io_wienerring

Your email address will not be published. Required fields are marked *