1. 24 Apr, 2022 5 commits
  2. 17 Apr, 2022 2 commits
  3. 15 Apr, 2022 1 commit
  4. 13 Apr, 2022 3 commits
  5. 12 Apr, 2022 5 commits
  6. 11 Apr, 2022 4 commits
    • Jens Axboe's avatar
      io_uring: stop using io_wq_work as an fd placeholder · 82733d16
      Jens Axboe authored
      There are two reasons why this isn't the best idea:
      
      - It's an odd area to grab a bit of storage space, hence it's an odd area
        to grab storage from.
      - It puts the 3rd io_kiocb cacheline into the hot path, where normal hot
        path just needs the first two.
      
      Use 'cflags' for joint fd/cflags storage. We only need fd until we
      successfully issue, and we only need cflags once a request is done and is
      completed.
      
      Fixes: 6bf9c47a
      
       ("io_uring: defer file assignment")
      Signed-off-by: default avatarJens Axboe <axboe@kernel.dk>
      82733d16
    • Jens Axboe's avatar
      io_uring: move apoll->events cache · 2804ecd8
      Jens Axboe authored
      In preparation for fixing a regression with pulling in an extra cacheline
      for IO that doesn't usually touch the last cacheline of the io_kiocb,
      move the cached location of apoll->events to space shared with some other
      completion data. Like cflags, this isn't used until after the request
      has been completed, so we can piggy back on top of comp_list.
      
      Fixes: 81459350
      
       ("io_uring: cache req->apoll->events in req->cflags")
      Signed-off-by: default avatarJens Axboe <axboe@kernel.dk>
      2804ecd8
    • Jens Axboe's avatar
      io_uring: io_kiocb_update_pos() should not touch file for non -1 offset · 6f83ab22
      Jens Axboe authored
      -1 tells use to use the current position, but we check if the file is
      a stream regardless of that. Fix up io_kiocb_update_pos() to only
      dip into file if we need to. This is both more efficient and also drops
      12 bytes of text on aarch64 and 64 bytes on x86-64.
      
      Fixes: b4aec400
      
       ("io_uring: do not recalculate ppos unnecessarily")
      Signed-off-by: default avatarJens Axboe <axboe@kernel.dk>
      6f83ab22
    • Jens Axboe's avatar
      io_uring: flag the fact that linked file assignment is sane · c4212f3e
      Jens Axboe authored
      Give applications a way to tell if the kernel supports sane linked files,
      as in files being assigned at the right time to be able to reliably
      do <open file direct into slot X><read file from slot X> while using
      IOSQE_IO_LINK to order them.
      
      Not really a bug fix, but flag it as such so that it gets pulled in with
      backports of the deferred file assignment.
      
      Fixes: 6bf9c47a
      
       ("io_uring: defer file assignment")
      Signed-off-by: default avatarJens Axboe <axboe@kernel.dk>
      c4212f3e
  7. 08 Apr, 2022 1 commit
    • Jens Axboe's avatar
      io_uring: fix race between timeout flush and removal · e677edbc
      Jens Axboe authored
      
      io_flush_timeouts() assumes the timeout isn't in progress of triggering
      or being removed/canceled, so it unconditionally removes it from the
      timeout list and attempts to cancel it.
      
      Leave it on the list and let the normal timeout cancelation take care
      of it.
      
      Cc: stable@vger.kernel.org # 5.5+
      Signed-off-by: default avatarJens Axboe <axboe@kernel.dk>
      e677edbc
  8. 07 Apr, 2022 9 commits
  9. 04 Apr, 2022 2 commits
  10. 03 Apr, 2022 1 commit
  11. 29 Mar, 2022 2 commits
  12. 25 Mar, 2022 5 commits