1. 27 Feb, 2024 1 commit
  2. 15 Feb, 2024 2 commits
    • Jens Axboe's avatar
      io_uring/napi: enable even with a timeout of 0 · b4ccc4dd
      Jens Axboe authored
      1 usec is not as short as it used to be, and it makes sense to allow 0
      for a busy poll timeout - this means just do one loop to check if we
      have anything available. Add a separate ->napi_enabled to check if napi
      has been enabled or not.
      
      While at it, move the writing of the ctx napi values after we've copied
      the old values back to userspace. This ensures that if the call fails,
      we'll be in the same state as we were before, rather than some
      indeterminate state.
      Signed-off-by: default avatarJens Axboe <axboe@kernel.dk>
      b4ccc4dd
    • Jens Axboe's avatar
      io_uring: kill stale comment for io_cqring_overflow_kill() · 871760eb
      Jens Axboe authored
      This function now deals only with discarding overflow entries on ring
      free and exit, and it no longer returns whether we successfully flushed
      all entries as there's no CQE posting involved anymore. Kill the
      outdated comment.
      Signed-off-by: default avatarJens Axboe <axboe@kernel.dk>
      871760eb
  3. 14 Feb, 2024 3 commits
    • Jens Axboe's avatar
      io_uring/sqpoll: use the correct check for pending task_work · c8d8fc3b
      Jens Axboe authored
      A previous commit moved to using just the private task_work list for
      SQPOLL, but it neglected to update the check for whether we have
      pending task_work. Normally this is fine as we'll attempt to run it
      unconditionally, but if we race with going to sleep AND task_work
      being added, then we certainly need the right check here.
      
      Fixes: af5d68f8 ("io_uring/sqpoll: manage task_work privately")
      Signed-off-by: default avatarJens Axboe <axboe@kernel.dk>
      c8d8fc3b
    • Jens Axboe's avatar
      io_uring: wake SQPOLL task when task_work is added to an empty queue · 78f9b61b
      Jens Axboe authored
      If there's no current work on the list, we still need to potentially
      wake the SQPOLL task if it is sleeping. This is ordered with the
      wait queue addition in sqpoll, which adds to the wait queue before
      checking for pending work items.
      
      Fixes: af5d68f8 ("io_uring/sqpoll: manage task_work privately")
      Signed-off-by: default avatarJens Axboe <axboe@kernel.dk>
      78f9b61b
    • Jens Axboe's avatar
      io_uring/napi: ensure napi polling is aborted when work is available · 428f1382
      Jens Axboe authored
      While testing io_uring NAPI with DEFER_TASKRUN, I ran into slowdowns and
      stalls in packet delivery. Turns out that while
      io_napi_busy_loop_should_end() aborts appropriately on regular
      task_work, it does not abort if we have local task_work pending.
      
      Move io_has_work() into the private io_uring.h header, and gate whether
      we should continue polling on that as well. This makes NAPI polling on
      send/receive work as designed with IORING_SETUP_DEFER_TASKRUN as well.
      
      Fixes: 8d0c12a8 ("io-uring: add napi busy poll support")
      Signed-off-by: default avatarJens Axboe <axboe@kernel.dk>
      428f1382
  4. 13 Feb, 2024 1 commit
  5. 09 Feb, 2024 9 commits
  6. 08 Feb, 2024 18 commits
  7. 07 Feb, 2024 1 commit
  8. 04 Feb, 2024 5 commits
    • Linus Torvalds's avatar
      Linux 6.8-rc3 · 54be6c6c
      Linus Torvalds authored
      54be6c6c
    • Linus Torvalds's avatar
      Merge tag 'for-linus-6.8-rc3' of git://git.kernel.org/pub/scm/linux/kernel/git/tytso/ext4 · 3f24fcda
      Linus Torvalds authored
      Pull ext4 fixes from Ted Ts'o:
       "Miscellaneous bug fixes and cleanups in ext4's multi-block allocator
        and extent handling code"
      
      * tag 'for-linus-6.8-rc3' of git://git.kernel.org/pub/scm/linux/kernel/git/tytso/ext4: (23 commits)
        ext4: make ext4_set_iomap() recognize IOMAP_DELALLOC map type
        ext4: make ext4_map_blocks() distinguish delalloc only extent
        ext4: add a hole extent entry in cache after punch
        ext4: correct the hole length returned by ext4_map_blocks()
        ext4: convert to exclusive lock while inserting delalloc extents
        ext4: refactor ext4_da_map_blocks()
        ext4: remove 'needed' in trace_ext4_discard_preallocations
        ext4: remove unnecessary parameter "needed" in ext4_discard_preallocations
        ext4: remove unused return value of ext4_mb_release_group_pa
        ext4: remove unused return value of ext4_mb_release_inode_pa
        ext4: remove unused return value of ext4_mb_release
        ext4: remove unused ext4_allocation_context::ac_groups_considered
        ext4: remove unneeded return value of ext4_mb_release_context
        ext4: remove unused parameter ngroup in ext4_mb_choose_next_group_*()
        ext4: remove unused return value of __mb_check_buddy
        ext4: mark the group block bitmap as corrupted before reporting an error
        ext4: avoid allocating blocks from corrupted group in ext4_mb_find_by_goal()
        ext4: avoid allocating blocks from corrupted group in ext4_mb_try_best_found()
        ext4: avoid dividing by 0 in mb_update_avg_fragment_size() when block bitmap corrupt
        ext4: avoid bb_free and bb_fragments inconsistency in mb_free_blocks()
        ...
      3f24fcda
    • Linus Torvalds's avatar
      Merge tag 'v6.8-rc3-smb-client-fixes' of git://git.samba.org/sfrench/cifs-2.6 · 9e28c7a2
      Linus Torvalds authored
      Pull smb client fixes from Steve French:
       "Five smb3 client fixes, mostly multichannel related:
      
         - four multichannel fixes including fix for channel allocation when
           multiple inactive channels, fix for unneeded race in channel
           deallocation, correct redundant channel scaling, and redundant
           multichannel disabling scenarios
      
         - add warning if max compound requests reached"
      
      * tag 'v6.8-rc3-smb-client-fixes' of git://git.samba.org/sfrench/cifs-2.6:
        smb: client: increase number of PDUs allowed in a compound request
        cifs: failure to add channel on iface should bump up weight
        cifs: do not search for channel if server is terminating
        cifs: avoid redundant calls to disable multichannel
        cifs: make sure that channel scaling is done only once
      9e28c7a2
    • Linus Torvalds's avatar
      Merge tag 'xfs-6.8-fixes-2' of git://git.kernel.org/pub/scm/fs/xfs/xfs-linux · fc86e5c9
      Linus Torvalds authored
      Pull xfs fixes from Chandan Babu:
      
       - Clear XFS_ATTR_INCOMPLETE filter on removing xattr from a node format
         attribute fork
      
       - Remove conditional compilation of realtime geometry validator
         functions to prevent confusing error messages from being printed on
         the console during the mount operation
      
      * tag 'xfs-6.8-fixes-2' of git://git.kernel.org/pub/scm/fs/xfs/xfs-linux:
        xfs: remove conditional building of rt geometry validator functions
        xfs: reset XFS_ATTR_INCOMPLETE filter on node removal
      fc86e5c9
    • Linus Torvalds's avatar
      Merge tag 'char-misc-6.8-rc3' of git://git.kernel.org/pub/scm/linux/kernel/git/gregkh/char-misc · 3a0e9220
      Linus Torvalds authored
      Pull char/misc driver fixes from Greg KH:
       "Here are three tiny driver fixes for 6.8-rc3.  They include:
      
         - Android binder long-term bug with epoll finally being fixed
      
         - fastrpc driver shutdown bugfix
      
         - open-dice lockdep fix
      
        All of these have been in linux-next this week with no reported
        issues"
      
      * tag 'char-misc-6.8-rc3' of git://git.kernel.org/pub/scm/linux/kernel/git/gregkh/char-misc:
        binder: signal epoll threads of self-work
        misc: open-dice: Fix spurious lockdep warning
        misc: fastrpc: Mark all sessions as invalid in cb_remove
      3a0e9220