Announcement

Collapse
No announcement yet.

IO_uring Gets A Huge Performance Fix - Up To 755x Improvement

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

  • IO_uring Gets A Huge Performance Fix - Up To 755x Improvement

    Phoronix: IO_uring Gets A Huge Performance Fix - Up To 755x Improvement

    IO_uring is designed to deliver fast and efficient I/O operations thanks to a re-designed interface introduced in Linux 5.1 with various efficiency improvements compared to the kernel's existing asynchronous I/O code. But it turns out there was a big bottleneck within the current IO_uring code up until now...

    Phoronix, Linux Hardware Reviews, Linux hardware benchmarks, Linux server benchmarks, Linux benchmarking, Desktop Linux, Linux performance, Open Source graphics, Linux How To, Ubuntu benchmarks, Ubuntu hardware, Phoronix Test Suite

  • #2
    Great. Waiting for benchmark.

    Comment


    • #3
      I've been noticing stalls on my server (Linux 5.1.x) when there is a lot of disk io that I didn't notice with previous kernels.

      I'm building a new 5.1.x kernel with this patch. Hopefully the stalls will be gone.

      Comment


      • #4
        Originally posted by cbxbiker61 View Post
        I've been noticing stalls on my server (Linux 5.1.x) when there is a lot of disk io that I didn't notice with previous kernels.

        I'm building a new 5.1.x kernel with this patch. Hopefully the stalls will be gone.
        if that doesn't work, feel free to try(sysctl):

        Code:
        vm.dirty_writeback_centisecs=0
        
        #The kernel flusher threads will periodically wake up and write `old' data
        #out to disk.  This tunable expresses the interval between those wakeups, in
        #100'ths of a second.
        #
        #Setting this to zero disables periodic writeback altogether.

        Comment


        • #5
          Originally posted by cbxbiker61 View Post
          I've been noticing stalls on my server (Linux 5.1.x) when there is a lot of disk io that I didn't notice with previous kernels.

          I'm building a new 5.1.x kernel with this patch. Hopefully the stalls will be gone.
          Probably not. io_uring is a very specific API and it's hard to find any application that's using it.

          Comment


          • #6
            So does anything use IO_uring?
            If so, then what does?

            Comment


            • #7
              Originally posted by uid313 View Post
              So does anything use IO_uring?
              If so, then what does?
              Server apps, like the ones Google or Facebook are running in their datacenters. Jens Axboe, who introduced io_uring works (or worked) at Facebook. NGINX will probably get support some day. Your BitTorrent client might pick it up from libuv. But for most apps it won't matter.
              Last edited by GrayShade; 21 July 2019, 04:37 AM.

              Comment


              • #8
                First I’m reading that systemd fixes issues with peestones, and now this.. Oh the puns I could make about age-related issues.

                .. and I would, if I didn’t need to use the restroom again.

                Comment


                • #9
                  Originally posted by GrayShade View Post

                  Server apps, like the ones Google or Facebook are running in their datacenters. Jens Axboe, who introduced io_uring works (or worked) at Facebook. NGINX will probably get support some day. Your BitTorrent client might pick it up from libuv. But for most apps it won't matter.
                  Asynchronous buffered i/o is the case for io_uring, not the internet sockets. PostgreSQL could eventually use it in particular situations

                  Comment


                  • #10
                    Originally posted by Beherit View Post
                    First I’m reading that systemd fixes issues with peestones, and now this.. Oh the puns I could make about age-related issues.

                    .. and I would, if I didn’t need to use the restroom again.
                    You can fix something 1000x which takes 0.001% of your daily job eventually, that was never been a bottleneck, and even if then spotted out and fixed long time ago

                    Comment

                    Working...
                    X