1. 01 Dec, 2020 3 commits
  2. 08 Oct, 2020 1 commit
  3. 23 Sep, 2020 1 commit
    • Max Kellermann's avatar
      input/uring: safe cancellation · 85bab670
      Max Kellermann authored
      My concept with `class CancellableOperation` doesn't work properly,
      because the kernel may continue to write to the given buffer as soon
      as the read finishes.
      
      To fix this, this commit adds `class ReadOperation` which owns the
      buffer and the `struct iovec`.  Instances of this class persist until
      the read really finishes, even if the operation is canceled.
      85bab670
  4. 21 Sep, 2020 2 commits
  5. 16 Sep, 2020 2 commits
  6. 07 Sep, 2020 1 commit
  7. 14 Aug, 2020 1 commit
  8. 20 Jul, 2020 4 commits
  9. 06 Jul, 2020 1 commit
  10. 01 Jul, 2020 2 commits
  11. 30 May, 2020 1 commit
  12. 05 May, 2020 3 commits
    • Max Kellermann's avatar
      input/uring: new input plugin using io_uring · dae8da70
      Max Kellermann authored
      This is the final piece of the series to establish io_uring support on
      Linux.
      
      MPD doesn't need io_uring for its efficient bulk I/O support, but to
      allow file I/O to be cancelled.  This is a big problem on CIFS/NFS
      mounts where processes sleep uninterruptable if the file server
      disappears, deadlocking MPD.
      
      With io_uring, a flaky NFS connection allows MPD to continue to work
      (even though there are still deadlocks inside MPD which need to be
      addressed).
      
      This plugin does not yet use cancellable `open()` using
      `IORING_OP_OPENAT`.  This will be implemented later.
      
      Lots of other optimization opportunities for io_uring are still
      missing as well - for example the database update could benefit a lot,
      but unfortunately, io_uring doesn't have `readdir()` support just yet.
      dae8da70
    • Max Kellermann's avatar
      */plugins/meson.build: define feature macros in Features.h · 8f178401
      Max Kellermann authored
      This makes ccache more efficient when recompiling with different
      plugins.
      8f178401
    • Max Kellermann's avatar
      system/FileDescriptor: move to io/ · 9815d101
      Max Kellermann authored
      9815d101
  13. 26 Mar, 2020 2 commits
  14. 17 Mar, 2020 1 commit
  15. 16 Mar, 2020 2 commits
  16. 13 Mar, 2020 2 commits
  17. 12 Mar, 2020 2 commits
  18. 17 Feb, 2020 1 commit
  19. 04 Feb, 2020 1 commit
  20. 02 Feb, 2020 2 commits
  21. 01 Feb, 2020 3 commits
  22. 18 Jan, 2020 2 commits