Announcement

Collapse
No announcement yet.

IO_uring With Linux 6.9 Gains Truncate Support, Per-Ring NAPI

Collapse
X
 
  • Filter
  • Time
  • Show
Clear All
new posts

  • #11
    Originally posted by peterdk View Post
    How is the security situation around IO_Uring. There was a lot of concern about it and people recommended not using IO Uring. Still the case?
    Probably about as good as anything computing these days... it will hold up great until some university grad student wants to do a phd in security or compsci. These systems have become so bloated and complex that they have become the low hanging fruit to poke holes in. No need for special hardware grants or anything... just time and persistence.

    I am not a fan of IO_uring but thats mostly because I have had some really odd failure modes with it and glusterfs.

    Comment


    • #12
      Originally posted by user1 View Post

      I've read that Windows NT already had async IO back when it was released in 1993 and IO_uring is what finally brought it to the Linux kernel only in 2019. So I don't think it's correct to call it "innovative". Of course IO_uring has brought some additional features that Windows NT async IO didn't have, but still, async IO itself is what Windows NT already had since the beginning.
      There is a huge difference though, in the Windows NT model you have "true" async IO but you still have to perform the system calls in sync, what io_uring changed and where it is innovative is that it changes the syscalls to be async leading to a massive decrease in syscall overhead.

      The async IO model of Windows NT have in practice never shown any advantage over non-blocking IO in Linux/BSD, in fact it have some rather big drawbacks e.g in that you have to preallocate buffers for every single request even if they might never happen leading to a huge memory overhead.

      Comment


      • #13
        Originally posted by F.Ultra View Post

        There is a huge difference though, in the Windows NT model you have "true" async IO but you still have to perform the system calls in sync, what io_uring changed and where it is innovative is that it changes the syscalls to be async leading to a massive decrease in syscall overhead.

        The async IO model of Windows NT have in practice never shown any advantage over non-blocking IO in Linux/BSD, in fact it have some rather big drawbacks e.g in that you have to preallocate buffers for every single request even if they might never happen leading to a huge memory overhead.
        I think that the windows async IO was needed because each subsystem has a different way to "wait for an event". So it is very difficult to make an event loop that handle both disk I/O and GUI event. My understanding was that in windows to do that properly you need to have multiple threads.

        If you think that, the unix select/poll was is a giant step forward. Unfortunately UNIX has also the signals...

        Comment


        • #14
          Originally posted by kreijack View Post
          If you think that, the unix select/poll was is a giant step forward. Unfortunately UNIX has also the signals...
          *chuckle* The way you say "has the signals" is tickling a vague memory of some fiction set in the victorian era or earlier where "the [word]" is the vernacular name for a disease, like "the clap" except it was something else.

          Comment


          • #15
            Originally posted by zexelon View Post

            Probably about as good as anything computing these days... it will hold up great until some university grad student wants to do a phd in security or compsci. These systems have become so bloated and complex that they have become the low hanging fruit to poke holes in. No need for special hardware grants or anything... just time and persistence.

            I am not a fan of IO_uring but thats mostly because I have had some really odd failure modes with it and glusterfs.
            i think they're remembering this: https://www.phoronix.com/news/Google...cting-IO_uring

            Comment


            • #16
              Originally posted by dlq84 View Post

              blood and kidney stones.
              What's the chance of there being a Scandinavian band called like that?

              Comment


              • #17
                Originally posted by user1 View Post

                I've read that Windows NT already had async IO back when it was released in 1993 and IO_uring is what finally brought it to the Linux kernel only in 2019. So I don't think it's correct to call it "innovative". Of course IO_uring has brought some additional features that Windows NT async IO didn't have, but still, async IO itself is what Windows NT already had since the beginning.
                This is not the first asyc api in Linux either. If io_uring is so un-innovative, then why did Microsoft decided to copy it? Initially they copied it almost verbatim (https://windows-internals.com/ioring...plementations/). They even used it for DirectStorage.

                Comment


                • #18
                  Originally posted by ssokolow View Post
                  Yes, I remember that issue.... random question, have they ever re-enabled it?

                  Comment


                  • #19
                    Originally posted by zexelon View Post

                    Yes, I remember that issue.... random question, have they ever re-enabled it?
                    I haven't heard anything about it, but I don't actively seek that sort of thing out.

                    Comment

                    Working...
                    X