Announcement

Collapse
No announcement yet.

IO_uring Passthrough For KVM Guests Is Yielding Fantastic Results

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

  • #21
    Originally posted by oleid View Post

    In my version (which is whatever Archlinux provides) I have that option here :

    https://www.virtualbox.org/manual/ch...s-acceleration
    But that page doesn't mention KVM anywhere (I asked where's the KVM option in VirtualBox).

    Comment


    • #22
      Originally posted by cl333r View Post

      But that page doesn't mention KVM anywhere (I asked where's the KVM option in VirtualBox).
      Do you run vbox with a linux host? Its pretty obvious there. I havent used it for about five years though. The location is even described in one of the replies.

      If your host is windows this optimization is not for you

      Comment


      • #23
        Originally posted by Random_Jerk View Post

        LInux had async io api 'aio' for a lot of time too. My understanding is that io_uring is a more optimized one.
        From what I understand its a bit more than just "more optimized"

        Previous to io_uring, the state of asynchronous IO on linux was terrible, not only because of optimization issues but also the API (although both go hand in hand). There are very good articles by nginx/libtorrent which go into detail about the issues. It was one of the areas where Linux was far behind any other OS (Windows/Mac/BSD's) in this area.

        Comment


        • #24
          Originally posted by mdedetrich View Post

          From what I understand its a bit more than just "more optimized"

          Previous to io_uring, the state of asynchronous IO on linux was terrible, not only because of optimization issues but also the API (although both go hand in hand). There are very good articles by nginx/libtorrent which go into detail about the issues. It was one of the areas where Linux was far behind any other OS (Windows/Mac/BSD's) in this area.
          Cool. Do you know which userland apps use io_uring at the moment? Have browsers switched over?

          Comment


          • #25
            Originally posted by Random_Jerk View Post

            Cool. Do you know which userland apps use io_uring at the moment? Have browsers switched over?
            I did some quick googling and I couldn't find anything. At least the most compelling usecases for io_uring (i.e. nginx/libtorrent) don't seem to have switched over (or more accurately there are forks but its not mainlined).

            I also didn't see any browsers switching over (although tbh the performance improvement for Browsers is not compelling)

            Comment


            • #26
              Great news.

              To clarify, QEMU already supports io_uring (since version 5.0 I think), this is actual improvement on the io_uring itself and I'm guessing it should work automatically or it will be implemented quite quickly in QEMU.

              VirtualBox doesn't support io_uring, nor does the virt-manager AFAIK, I expect it to be in virt-manager in ~6 months from now, and I don't expect it in VirtualBox any time soon.

              Comment


              • #27
                Originally posted by leipero View Post
                Great news.

                To clarify, QEMU already supports io_uring (since version 5.0 I think), this is actual improvement on the io_uring itself and I'm guessing it should work automatically or it will be implemented quite quickly in QEMU.

                VirtualBox doesn't support io_uring, nor does the virt-manager AFAIK, I expect it to be in virt-manager in ~6 months from now, and I don't expect it in VirtualBox any time soon.
                I doubt if the virtio disk drivers on the guest side (in WIndows or Linux VM's) support io_uring yet. That seems to be the missing piece.

                Comment


                • #28
                  Originally posted by Random_Jerk View Post

                  I doubt if the virtio disk drivers on the guest side (in WIndows or Linux VM's) support io_uring yet. That seems to be the missing piece.
                  Windows yes, Linux guests, from my own tests are non-issue, they work out of the box with io_uring. I think io_uring doesn't even use/need virtio drivers. Simple change in QEMU from "-drive if=virtio,aio=whatever" to "-drive aio=io_uring" works just fine on Linux guests, never tested it with Windows, note that if=virtio is excluded from the command line.

                  Comment


                  • #29
                    Originally posted by mdedetrich View Post
                    I did some quick googling and I couldn't find anything.
                    apps should use something higher level. which should support io_uring instead of epoll when available. like boost::asio or c++23 networking https://github.com/RobertLeahy/AsioUring

                    Comment


                    • #30
                      Originally posted by Random_Jerk View Post
                      Cool. Do you know which userland apps use io_uring at the moment?
                      qemu. it's subject of this very article

                      Comment

                      Working...
                      X