1. 30 May, 2020 3 commits
  2. 26 May, 2020 9 commits
  3. 20 May, 2020 1 commit
  4. 17 May, 2020 7 commits
  5. 15 May, 2020 5 commits
    • Jens Axboe's avatar
      io_uring: file registration list and lock optimization · 6a4d07cd
      Jens Axboe authored
      There's no point in using list_del_init() on entries that are going
      away, and the associated lock is always used in process context so
      let's not use the IRQ disabling+saving variant of the spinlock.
      Signed-off-by: default avatarJens Axboe <axboe@kernel.dk>
      6a4d07cd
    • Stefano Garzarella's avatar
      io_uring: add IORING_CQ_EVENTFD_DISABLED to the CQ ring flags · 7e55a19c
      Stefano Garzarella authored
      This new flag should be set/clear from the application to
      disable/enable eventfd notifications when a request is completed
      and queued to the CQ ring.
      
      Before this patch, notifications were always sent if an eventfd is
      registered, so IORING_CQ_EVENTFD_DISABLED is not set during the
      initialization.
      
      It will be up to the application to set the flag after initialization
      if no notifications are required at the beginning.
      Signed-off-by: default avatarStefano Garzarella <sgarzare@redhat.com>
      Signed-off-by: default avatarJens Axboe <axboe@kernel.dk>
      7e55a19c
    • Stefano Garzarella's avatar
      io_uring: add 'cq_flags' field for the CQ ring · 0d9b5b3a
      Stefano Garzarella authored
      This patch adds the new 'cq_flags' field that should be written by
      the application and read by the kernel.
      
      This new field is available to the userspace application through
      'cq_off.flags'.
      We are using 4-bytes previously reserved and set to zero. This means
      that if the application finds this field to zero, then the new
      functionality is not supported.
      
      In the next patch we will introduce the first flag available.
      Signed-off-by: default avatarStefano Garzarella <sgarzare@redhat.com>
      Signed-off-by: default avatarJens Axboe <axboe@kernel.dk>
      0d9b5b3a
    • Jens Axboe's avatar
      io_uring: allow POLL_ADD with double poll_wait() users · 18bceab1
      Jens Axboe authored
      Some file descriptors use separate waitqueues for their f_ops->poll()
      handler, most commonly one for read and one for write. The io_uring
      poll implementation doesn't work with that, as the 2nd poll_wait()
      call will cause the io_uring poll request to -EINVAL.
      
      This affects (at least) tty devices and /dev/random as well. This is a
      big problem for event loops where some file descriptors work, and others
      don't.
      
      With this fix, io_uring handles multiple waitqueues.
      Signed-off-by: default avatarJens Axboe <axboe@kernel.dk>
      18bceab1
    • Jens Axboe's avatar
      io_uring: batch reap of dead file registrations · 4a38aed2
      Jens Axboe authored
      We currently embed and queue a work item per fixed_file_ref_node that
      we update, but if the workload does a lot of these, then the associated
      kworker-events overhead can become quite noticeable.
      
      Since we rarely need to wait on these, batch them at 1 second intervals
      instead. If we do need to wait for them, we just flush the pending
      delayed work.
      Signed-off-by: default avatarJens Axboe <axboe@kernel.dk>
      4a38aed2
  6. 14 May, 2020 1 commit
  7. 11 May, 2020 1 commit
  8. 09 May, 2020 2 commits
  9. 07 May, 2020 2 commits
  10. 05 May, 2020 1 commit
  11. 04 May, 2020 1 commit
  12. 03 May, 2020 4 commits
  13. 02 May, 2020 3 commits