1. 12 Aug, 2021 1 commit
  2. 06 Aug, 2021 2 commits
  3. 05 Aug, 2021 2 commits
    • Chao Yu's avatar
      f2fs: extent cache: support unaligned extent · 94afd6d6
      Chao Yu authored
      Compressed inode may suffer read performance issue due to it can not
      use extent cache, so I propose to add this unaligned extent support
      to improve it.
      
      Currently, it only works in readonly format f2fs image.
      
      Unaligned extent: in one compressed cluster, physical block number
      will be less than logical block number, so we add an extra physical
      block length in extent info in order to indicate such extent status.
      
      The idea is if one whole cluster blocks are contiguous physically,
      once its mapping info was readed at first time, we will cache an
      unaligned (or aligned) extent info entry in extent cache, it expects
      that the mapping info will be hitted when rereading cluster.
      
      Merge policy:
      - Aligned extents can be merged.
      - Aligned extent and unaligned extent can not be merged.
      Signed-off-by: default avatarChao Yu <chao@kernel.org>
      Signed-off-by: default avatarJaegeuk Kim <jaegeuk@kernel.org>
      94afd6d6
    • Tiezhu Yang's avatar
      f2fs: Kconfig: clean up config options about compression · 6b3ba1e7
      Tiezhu Yang authored
      In fs/f2fs/Kconfig, F2FS_FS_LZ4HC depends on F2FS_FS_LZ4 and F2FS_FS_LZ4
      depends on F2FS_FS_COMPRESSION, so no need to make F2FS_FS_LZ4HC depends
      on F2FS_FS_COMPRESSION explicitly, remove the redudant "depends on", do
      the similar thing for F2FS_FS_LZORLE.
      
      At the same time, it is better to move F2FS_FS_LZORLE next to F2FS_FS_LZO,
      it looks like a little more clear when make menuconfig, the location of
      "LZO-RLE compression support" is under "LZO compression support" instead
      of "F2FS compression feature".
      
      Without this patch:
      
      F2FS compression feature
        LZO compression support
        LZ4 compression support
          LZ4HC compression support
        ZSTD compression support
        LZO-RLE compression support
      
      With this patch:
      
      F2FS compression feature
        LZO compression support
          LZO-RLE compression support
        LZ4 compression support
          LZ4HC compression support
        ZSTD compression support
      Signed-off-by: default avatarTiezhu Yang <yangtiezhu@loongson.cn>
      Reviewed-by: default avatarChao Yu <chao@kernel.org>
      Signed-off-by: default avatarJaegeuk Kim <jaegeuk@kernel.org>
      6b3ba1e7
  4. 04 Aug, 2021 2 commits
    • Yangtao Li's avatar
      f2fs: reduce the scope of setting fsck tag when de->name_len is zero · d4bf15a7
      Yangtao Li authored
      I recently found a case where de->name_len is 0 in f2fs_fill_dentries()
      easily reproduced, and finally set the fsck flag.
      
      Thread A			Thread B
      - f2fs_readdir
       - f2fs_read_inline_dir
        - ctx->pos = d.max
      				- f2fs_add_dentry
      				 - f2fs_add_inline_entry
      				  - do_convert_inline_dir
      				 - f2fs_add_regular_entry
      - f2fs_readdir
       - f2fs_fill_dentries
        - set_sbi_flag(sbi, SBI_NEED_FSCK)
      
      Process A opens the folder, and has been reading without closing it.
      During this period, Process B created a file under the folder (occupying
      multiple f2fs_dir_entry, exceeding the d.max of the inline dir). After
      creation, process A uses the d.max of inline dir to read it again, and
      it will read that de->name_len is 0.
      
      And Chao pointed out that w/o inline conversion, the race condition still
      can happen as below:
      
      dir_entry1: A
      dir_entry2: B
      dir_entry3: C
      free slot: _
      ctx->pos: ^
      
      Thread A is traversing directory,
      ctx-pos moves to below position after readdir() by thread A:
      AAAABBBB___
              ^
      
      Then thread B delete dir_entry2, and create dir_entry3.
      
      Thread A calls readdir() to lookup dirents starting from middle
      of new dirent slots as below:
      AAAACCCCCC_
              ^
      In these scenarios, the file system is not damaged, and it's hard to
      avoid it. But we can bypass tagging FSCK flag if:
      a) bit_pos (:= ctx->pos % d->max) is non-zero and
      b) before bit_pos moves to first valid dir_entry.
      
      Fixes: ddf06b75 ("f2fs: fix to trigger fsck if dirent.name_len is zero")
      Signed-off-by: default avatarYangtao Li <frank.li@vivo.com>
      [Chao: clean up description]
      Reviewed-by: default avatarChao Yu <chao@kernel.org>
      Signed-off-by: default avatarJaegeuk Kim <jaegeuk@kernel.org>
      d4bf15a7
    • Chao Yu's avatar
      f2fs: fix to stop filesystem update once CP failed · 91803392
      Chao Yu authored
      During f2fs_write_checkpoint(), once we failed in
      f2fs_flush_nat_entries() or do_checkpoint(), metadata of filesystem
      such as prefree bitmap, nat/sit version bitmap won't be recovered,
      it may cause f2fs image to be inconsistent, let's just set CP error
      flag to avoid further updates until we figure out a scheme to rollback
      all metadatas in such condition.
      Reported-by: default avatarYangtao Li <frank.li@vivo.com>
      Signed-off-by: default avatarYangtao Li <frank.li@vivo.com>
      Signed-off-by: default avatarChao Yu <chao@kernel.org>
      Signed-off-by: default avatarJaegeuk Kim <jaegeuk@kernel.org>
      91803392
  5. 03 Aug, 2021 2 commits
    • Daeho Jeong's avatar
      f2fs: add sysfs node to control ra_pages for fadvise seq file · 0f6b56ec
      Daeho Jeong authored
      fadvise() allows the user to expand the readahead window to double with
      POSIX_FADV_SEQUENTIAL, now. But, in some use cases, it is not that
      sufficient and we need to meet the need in a restricted way. We can
      control the multiplier value of bdi device readahead between 2 (default)
      and 256 for POSIX_FADV_SEQUENTIAL advise option.
      Signed-off-by: default avatarDaeho Jeong <daehojeong@google.com>
      Reviewed-by: default avatarChao Yu <chao@kernel.org>
      Signed-off-by: default avatarJaegeuk Kim <jaegeuk@kernel.org>
      0f6b56ec
    • Chao Yu's avatar
      f2fs: introduce discard_unit mount option · 4f993264
      Chao Yu authored
      As James Z reported in bugzilla:
      
      https://bugzilla.kernel.org/show_bug.cgi?id=213877
      
      [1.] One-line summary of the problem:
      Mount multiple SMR block devices exceed certain number cause system non-response
      
      [2.] Full description of the problem/report:
      Created some F2FS on SMR devices (mkfs.f2fs -m), then mounted in sequence. Each device is the same Model: HGST HSH721414AL (Size 14TB).
      Empirically, found that when the amount of SMR device * 1.5Gb > System RAM, the system ran out of memory and hung. No dmesg output. For example, 24 SMR Disk need 24*1.5GB = 36GB. A system with 32G RAM can only mount 21 devices, the 22nd device will be a reproducible cause of system hang.
      The number of SMR devices with other FS mounted on this system does not interfere with the result above.
      
      [3.] Keywords (i.e., modules, networking, kernel):
      F2FS, SMR, Memory
      
      [4.] Kernel information
      [4.1.] Kernel version (uname -a):
      Linux 5.13.4-200.fc34.x86_64 #1 SMP Tue Jul 20 20:27:29 UTC 2021 x86_64 x86_64 x86_64 GNU/Linux
      
      [4.2.] Kernel .config file:
      Default Fedora 34 with f2fs-tools-1.14.0-2.fc34.x86_64
      
      [5.] Most recent kernel version which did not have the bug:
      None
      
      [6.] Output of Oops.. message (if applicable) with symbolic information
           resolved (see Documentation/admin-guide/oops-tracing.rst)
      None
      
      [7.] A small shell script or example program which triggers the
           problem (if possible)
      mount /dev/sdX /mnt/0X
      
      [8.] Memory consumption
      
      With 24 * 14T SMR Block device with F2FS
      free -g
                    total        used        free      shared  buff/cache   available
      Mem:             46          36           0           0          10          10
      Swap:             0           0           0
      
      With 3 * 14T SMR Block device with F2FS
      free -g
                     total        used        free      shared  buff/cache   available
      Mem:               7           5           0           0           1           1
      Swap:              7           0           7
      
      The root cause is, there are three bitmaps:
      - cur_valid_map
      - ckpt_valid_map
      - discard_map
      and each of them will cost ~500MB memory, {cur, ckpt}_valid_map are
      necessary, but discard_map is optional, since this bitmap will only be
      useful in mountpoint that small discard is enabled.
      
      For a blkzoned device such as SMR or ZNS devices, f2fs will only issue
      discard for a section(zone) when all blocks of that section are invalid,
      so, for such device, we don't need small discard functionality at all.
      
      This patch introduces a new mountoption "discard_unit=block|segment|
      section" to support issuing discard with different basic unit which is
      aligned to block, segment or section, so that user can specify
      "discard_unit=segment" or "discard_unit=section" to disable small
      discard functionality.
      
      Note that this mount option can not be changed by remount() due to
      related metadata need to be initialized during mount().
      
      In order to save memory, let's use "discard_unit=section" for blkzoned
      device by default.
      Signed-off-by: default avatarChao Yu <chao@kernel.org>
      Signed-off-by: default avatarJaegeuk Kim <jaegeuk@kernel.org>
      4f993264
  6. 02 Aug, 2021 8 commits
  7. 25 Jul, 2021 3 commits
  8. 20 Jul, 2021 2 commits
    • Chao Yu's avatar
      f2fs: quota: fix potential deadlock · 9de71ede
      Chao Yu authored
      xfstest generic/587 reports a deadlock issue as below:
      
      ======================================================
      WARNING: possible circular locking dependency detected
      5.14.0-rc1 #69 Not tainted
      ------------------------------------------------------
      repquota/8606 is trying to acquire lock:
      ffff888022ac9320 (&sb->s_type->i_mutex_key#18){+.+.}-{3:3}, at: f2fs_quota_sync+0x207/0x300 [f2fs]
      
      but task is already holding lock:
      ffff8880084bcde8 (&sbi->quota_sem){.+.+}-{3:3}, at: f2fs_quota_sync+0x59/0x300 [f2fs]
      
      which lock already depends on the new lock.
      
      the existing dependency chain (in reverse order) is:
      
      -> #2 (&sbi->quota_sem){.+.+}-{3:3}:
             __lock_acquire+0x648/0x10b0
             lock_acquire+0x128/0x470
             down_read+0x3b/0x2a0
             f2fs_quota_sync+0x59/0x300 [f2fs]
             f2fs_quota_on+0x48/0x100 [f2fs]
             do_quotactl+0x5e3/0xb30
             __x64_sys_quotactl+0x23a/0x4e0
             do_syscall_64+0x3b/0x90
             entry_SYSCALL_64_after_hwframe+0x44/0xae
      
      -> #1 (&sbi->cp_rwsem){++++}-{3:3}:
             __lock_acquire+0x648/0x10b0
             lock_acquire+0x128/0x470
             down_read+0x3b/0x2a0
             f2fs_unlink+0x353/0x670 [f2fs]
             vfs_unlink+0x1c7/0x380
             do_unlinkat+0x413/0x4b0
             __x64_sys_unlinkat+0x50/0xb0
             do_syscall_64+0x3b/0x90
             entry_SYSCALL_64_after_hwframe+0x44/0xae
      
      -> #0 (&sb->s_type->i_mutex_key#18){+.+.}-{3:3}:
             check_prev_add+0xdc/0xb30
             validate_chain+0xa67/0xb20
             __lock_acquire+0x648/0x10b0
             lock_acquire+0x128/0x470
             down_write+0x39/0xc0
             f2fs_quota_sync+0x207/0x300 [f2fs]
             do_quotactl+0xaff/0xb30
             __x64_sys_quotactl+0x23a/0x4e0
             do_syscall_64+0x3b/0x90
             entry_SYSCALL_64_after_hwframe+0x44/0xae
      
      other info that might help us debug this:
      
      Chain exists of:
        &sb->s_type->i_mutex_key#18 --> &sbi->cp_rwsem --> &sbi->quota_sem
      
       Possible unsafe locking scenario:
      
             CPU0                    CPU1
             ----                    ----
        lock(&sbi->quota_sem);
                                     lock(&sbi->cp_rwsem);
                                     lock(&sbi->quota_sem);
        lock(&sb->s_type->i_mutex_key#18);
      
       *** DEADLOCK ***
      
      3 locks held by repquota/8606:
       #0: ffff88801efac0e0 (&type->s_umount_key#53){++++}-{3:3}, at: user_get_super+0xd9/0x190
       #1: ffff8880084bc380 (&sbi->cp_rwsem){++++}-{3:3}, at: f2fs_quota_sync+0x3e/0x300 [f2fs]
       #2: ffff8880084bcde8 (&sbi->quota_sem){.+.+}-{3:3}, at: f2fs_quota_sync+0x59/0x300 [f2fs]
      
      stack backtrace:
      CPU: 6 PID: 8606 Comm: repquota Not tainted 5.14.0-rc1 #69
      Hardware name: innotek GmbH VirtualBox/VirtualBox, BIOS VirtualBox 12/01/2006
      Call Trace:
       dump_stack_lvl+0xce/0x134
       dump_stack+0x17/0x20
       print_circular_bug.isra.0.cold+0x239/0x253
       check_noncircular+0x1be/0x1f0
       check_prev_add+0xdc/0xb30
       validate_chain+0xa67/0xb20
       __lock_acquire+0x648/0x10b0
       lock_acquire+0x128/0x470
       down_write+0x39/0xc0
       f2fs_quota_sync+0x207/0x300 [f2fs]
       do_quotactl+0xaff/0xb30
       __x64_sys_quotactl+0x23a/0x4e0
       do_syscall_64+0x3b/0x90
       entry_SYSCALL_64_after_hwframe+0x44/0xae
      RIP: 0033:0x7f883b0b4efe
      
      The root cause is ABBA deadlock of inode lock and cp_rwsem,
      reorder locks in f2fs_quota_sync() as below to fix this issue:
      - lock inode
      - lock cp_rwsem
      - lock quota_sem
      
      Fixes: db6ec53b ("f2fs: add a rw_sem to cover quota flag changes")
      Signed-off-by: default avatarChao Yu <chao@kernel.org>
      Signed-off-by: default avatarJaegeuk Kim <jaegeuk@kernel.org>
      9de71ede
    • Jaegeuk Kim's avatar
      f2fs: let's keep writing IOs on SBI_NEED_FSCK · 1ffc8f5f
      Jaegeuk Kim authored
      SBI_NEED_FSCK is an indicator that fsck.f2fs needs to be triggered, so it
      is not fully critical to stop any IO writes. So, let's allow to write data
      instead of reporting EIO forever given SBI_NEED_FSCK, but do keep OPU.
      
      Fixes: 95577278 ("f2fs: drop inplace IO if fs status is abnormal")
      Cc: <stable@kernel.org> # v5.13+
      Reviewed-by: default avatarChao Yu <chao@kernel.org>
      Signed-off-by: default avatarJaegeuk Kim <jaegeuk@kernel.org>
      1ffc8f5f
  9. 19 Jul, 2021 1 commit
  10. 13 Jul, 2021 3 commits
  11. 11 Jul, 2021 11 commits
    • Linus Torvalds's avatar
      Linux 5.14-rc1 · e73f0f0e
      Linus Torvalds authored
      e73f0f0e
    • Hugh Dickins's avatar
      mm/rmap: try_to_migrate() skip zone_device !device_private · 6c855fce
      Hugh Dickins authored
      I know nothing about zone_device pages and !device_private pages; but if
      try_to_migrate_one() will do nothing for them, then it's better that
      try_to_migrate() filter them first, than trawl through all their vmas.
      Signed-off-by: default avatarHugh Dickins <hughd@google.com>
      Reviewed-by: default avatarShakeel Butt <shakeelb@google.com>
      Reviewed-by: default avatarAlistair Popple <apopple@nvidia.com>
      Link: https://lore.kernel.org/lkml/1241d356-8ec9-f47b-a5ec-9b2bf66d242@google.com/
      Cc: Andrew Morton <akpm@linux-foundation.org>
      Cc: Jason Gunthorpe <jgg@nvidia.com>
      Cc: Ralph Campbell <rcampbell@nvidia.com>
      Cc: Christoph Hellwig <hch@lst.de>
      Cc: Yang Shi <shy828301@gmail.com>
      Cc: Kirill A. Shutemov <kirill.shutemov@linux.intel.com>
      Signed-off-by: default avatarLinus Torvalds <torvalds@linux-foundation.org>
      6c855fce
    • Hugh Dickins's avatar
      mm/rmap: fix new bug: premature return from page_mlock_one() · 023e1a8d
      Hugh Dickins authored
      In the unlikely race case that page_mlock_one() finds VM_LOCKED has been
      cleared by the time it got page table lock, page_vma_mapped_walk_done()
      must be called before returning, either explicitly, or by a final call
      to page_vma_mapped_walk() - otherwise the page table remains locked.
      
      Fixes: cd62734c ("mm/rmap: split try_to_munlock from try_to_unmap")
      Signed-off-by: default avatarHugh Dickins <hughd@google.com>
      Reviewed-by: default avatarAlistair Popple <apopple@nvidia.com>
      Reviewed-by: default avatarShakeel Butt <shakeelb@google.com>
      Reported-by: default avatarkernel test robot <oliver.sang@intel.com>
      Link: https://lore.kernel.org/lkml/20210711151446.GB4070@xsang-OptiPlex-9020/
      Link: https://lore.kernel.org/lkml/f71f8523-cba7-3342-40a7-114abc5d1f51@google.com/
      Cc: Andrew Morton <akpm@linux-foundation.org>
      Cc: Jason Gunthorpe <jgg@nvidia.com>
      Cc: Ralph Campbell <rcampbell@nvidia.com>
      Cc: Christoph Hellwig <hch@lst.de>
      Cc: Yang Shi <shy828301@gmail.com>
      Cc: Kirill A. Shutemov <kirill.shutemov@linux.intel.com>
      Signed-off-by: default avatarLinus Torvalds <torvalds@linux-foundation.org>
      023e1a8d
    • Hugh Dickins's avatar
      mm/rmap: fix old bug: munlocking THP missed other mlocks · d9770fcc
      Hugh Dickins authored
      The kernel recovers in due course from missing Mlocked pages: but there
      was no point in calling page_mlock() (formerly known as
      try_to_munlock()) on a THP, because nothing got done even when it was
      found to be mapped in another VM_LOCKED vma.
      
      It's true that we need to be careful: Mlocked accounting of pte-mapped
      THPs is too difficult (so consistently avoided); but Mlocked accounting
      of only-pmd-mapped THPs is supposed to work, even when multiple mappings
      are mlocked and munlocked or munmapped.  Refine the tests.
      
      There is already a VM_BUG_ON_PAGE(PageDoubleMap) in page_mlock(), so
      page_mlock_one() does not even have to worry about that complication.
      
      (I said the kernel recovers: but would page reclaim be likely to split
      THP before rediscovering that it's VM_LOCKED? I've not followed that up)
      
      Fixes: 9a73f61b ("thp, mlock: do not mlock PTE-mapped file huge pages")
      Signed-off-by: default avatarHugh Dickins <hughd@google.com>
      Reviewed-by: default avatarShakeel Butt <shakeelb@google.com>
      Acked-by: default avatarKirill A. Shutemov <kirill.shutemov@linux.intel.com>
      Link: https://lore.kernel.org/lkml/cfa154c-d595-406-eb7d-eb9df730f944@google.com/
      Cc: Andrew Morton <akpm@linux-foundation.org>
      Cc: Alistair Popple <apopple@nvidia.com>
      Cc: Jason Gunthorpe <jgg@nvidia.com>
      Cc: Ralph Campbell <rcampbell@nvidia.com>
      Cc: Christoph Hellwig <hch@lst.de>
      Cc: Yang Shi <shy828301@gmail.com>
      Signed-off-by: default avatarLinus Torvalds <torvalds@linux-foundation.org>
      d9770fcc
    • Hugh Dickins's avatar
      mm/rmap: fix comments left over from recent changes · 64b586d1
      Hugh Dickins authored
      Parallel developments in mm/rmap.c have left behind some out-of-date
      comments: try_to_migrate_one() also accepts TTU_SYNC (already commented
      in try_to_migrate() itself), and try_to_migrate() returns nothing at
      all.
      
      TTU_SPLIT_FREEZE has just been deleted, so reword the comment about it
      in mm/huge_memory.c; and TTU_IGNORE_ACCESS was removed in 5.11, so
      delete the "recently referenced" comment from try_to_unmap_one() (once
      upon a time the comment was near the removed codeblock, but they drifted
      apart).
      Signed-off-by: default avatarHugh Dickins <hughd@google.com>
      Reviewed-by: default avatarShakeel Butt <shakeelb@google.com>
      Reviewed-by: default avatarAlistair Popple <apopple@nvidia.com>
      Link: https://lore.kernel.org/lkml/563ce5b2-7a44-5b4d-1dfd-59a0e65932a9@google.com/
      Cc: Andrew Morton <akpm@linux-foundation.org>
      Cc: Jason Gunthorpe <jgg@nvidia.com>
      Cc: Ralph Campbell <rcampbell@nvidia.com>
      Cc: Christoph Hellwig <hch@lst.de>
      Cc: Yang Shi <shy828301@gmail.com>
      Cc: Kirill A. Shutemov <kirill.shutemov@linux.intel.com>
      Signed-off-by: default avatarLinus Torvalds <torvalds@linux-foundation.org>
      64b586d1
    • Linus Torvalds's avatar
      Merge tag 'irq-urgent-2021-07-11' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip · 98f7fdce
      Linus Torvalds authored
      Pull irq fixes from Ingo Molnar:
       "Two fixes:
      
         - Fix a MIPS IRQ handling RCU bug
      
         - Remove a DocBook annotation for a parameter that doesn't exist
           anymore"
      
      * tag 'irq-urgent-2021-07-11' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip:
        irqchip/mips: Fix RCU violation when using irqdomain lookup on interrupt entry
        genirq/irqdesc: Drop excess kernel-doc entry @lookup
      98f7fdce
    • Linus Torvalds's avatar
      Merge tag 'sched-urgent-2021-07-11' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip · 877029d9
      Linus Torvalds authored
      Pull scheduler fixes from Ingo Molnar:
       "Three fixes:
      
         - Fix load tracking bug/inconsistency
      
         - Fix a sporadic CFS bandwidth constraints enforcement bug
      
         - Fix a uclamp utilization tracking bug for newly woken tasks"
      
      * tag 'sched-urgent-2021-07-11' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip:
        sched/uclamp: Ignore max aggregation if rq is idle
        sched/fair: Fix CFS bandwidth hrtimer expiry type
        sched/fair: Sync load_sum with load_avg after dequeue
      877029d9
    • Linus Torvalds's avatar
      Merge tag 'perf-urgent-2021-07-11' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip · 936b664f
      Linus Torvalds authored
      Pull perf fixes from Ingo Molnar:
       "A fix and a hardware-enablement addition:
      
         - Robustify uncore_snbep's skx_iio_set_mapping()'s error cleanup
      
         - Add cstate event support for Intel ICELAKE_X and ICELAKE_D"
      
      * tag 'perf-urgent-2021-07-11' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip:
        perf/x86/intel/uncore: Clean up error handling path of iio mapping
        perf/x86/cstate: Add ICELAKE_X and ICELAKE_D support
      936b664f
    • Linus Torvalds's avatar
      Merge tag 'locking-urgent-2021-07-11' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip · 301c8b1d
      Linus Torvalds authored
      Pull locking fixes from Ingo Molnar:
      
       - Fix a Sparc crash
      
       - Fix a number of objtool warnings
      
       - Fix /proc/lockdep output on certain configs
      
       - Restore a kprobes fail-safe
      
      * tag 'locking-urgent-2021-07-11' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip:
        locking/atomic: sparc: Fix arch_cmpxchg64_local()
        kprobe/static_call: Restore missing static_call_text_reserved()
        static_call: Fix static_call_text_reserved() vs __init
        jump_label: Fix jump_label_text_reserved() vs __init
        locking/lockdep: Fix meaningless /proc/lockdep output of lock classes on !CONFIG_PROVE_LOCKING
      301c8b1d
    • Linus Torvalds's avatar
      Merge tag 'scsi-misc' of git://git.kernel.org/pub/scm/linux/kernel/git/jejb/scsi · 8b9cc17a
      Linus Torvalds authored
      Pull more SCSI updates from James Bottomley:
       "This is a set of minor fixes and clean ups in the core and various
        drivers.
      
        The only core change in behaviour is the I/O retry for spinup notify,
        but that shouldn't impact anything other than the failing case"
      
      * tag 'scsi-misc' of git://git.kernel.org/pub/scm/linux/kernel/git/jejb/scsi: (23 commits)
        scsi: virtio_scsi: Add validation for residual bytes from response
        scsi: ipr: System crashes when seeing type 20 error
        scsi: core: Retry I/O for Notify (Enable Spinup) Required error
        scsi: mpi3mr: Fix warnings reported by smatch
        scsi: qedf: Add check to synchronize abort and flush
        scsi: MAINTAINERS: Add mpi3mr driver maintainers
        scsi: libfc: Fix array index out of bound exception
        scsi: mvsas: Use DEVICE_ATTR_RO()/RW() macro
        scsi: megaraid_mbox: Use DEVICE_ATTR_ADMIN_RO() macro
        scsi: qedf: Use DEVICE_ATTR_RO() macro
        scsi: qedi: Use DEVICE_ATTR_RO() macro
        scsi: message: mptfc: Switch from pci_ to dma_ API
        scsi: be2iscsi: Fix some missing space in some messages
        scsi: be2iscsi: Fix an error handling path in beiscsi_dev_probe()
        scsi: ufs: Fix build warning without CONFIG_PM
        scsi: bnx2fc: Remove meaningless bnx2fc_abts_cleanup() return value assignment
        scsi: qla2xxx: Add heartbeat check
        scsi: virtio_scsi: Do not overwrite SCSI status
        scsi: libsas: Add LUN number check in .slave_alloc callback
        scsi: core: Inline scsi_mq_alloc_queue()
        ...
      8b9cc17a
    • Linus Torvalds's avatar
      Merge tag 'perf-tools-for-v5.14-2021-07-10' of... · b1412bd7
      Linus Torvalds authored
      Merge tag 'perf-tools-for-v5.14-2021-07-10' of git://git.kernel.org/pub/scm/linux/kernel/git/acme/linux
      
      Pull more perf tool updates from Arnaldo Carvalho de Melo:
       "New features:
      
         - Enable use of BPF counters with 'perf stat --for-each-cgroup',
           using per-CPU 'cgroup-switch' events with an attached BPF program
           that does aggregation per-cgroup in the kernel instead of using
           per-cgroup perf events.
      
         - Add Topdown metrics L2 events as default events in 'perf stat' for
           systems having those events.
      
        Hardware tracing:
      
         - Add a config for max loops without consuming a packet in the Intel
           PT packet decoder, set via 'perf config intel-pt.max-loops=N'
      
        Hardware enablement:
      
         - Disable misleading NMI watchdog message in 'perf stat' on hybrid
           systems such as Intel Alder Lake.
      
         - Add a dummy event on hybrid systems to collect metadata records.
      
         - Add 24x7 nest metric events for the Power10 platform.
      
        Fixes:
      
         - Fix event parsing for PMUs starting with the same prefix.
      
         - Fix the 'perf trace' 'trace' alias installation dir.
      
         - Fix buffer size to report iregs in perf script python scripts,
           supporting the extended registers in PowerPC.
      
         - Fix overflow in elf_sec__is_text().
      
         - Fix 's' on source line when disasm is empty in the annotation TUI,
           accessible via 'perf annotate', 'perf report' and 'perf top'.
      
         - Plug leaks in scandir() returned dirent entries in 'perf test' when
           sorting the shell tests.
      
         - Fix --task and --stat with pipe input in 'perf report'.
      
         - Fix 'perf probe' use of debuginfo files by build id.
      
         - If a DSO has both dynsym and symtab ELF sections, read from both
           when loading the symbol table, fixing a problem processing Fedora
           32 glibc DSOs.
      
        Libraries:
      
         - Add grouping of events to libperf, from code in tools/perf,
           allowing libperf users to use that mode.
      
        Misc:
      
         - Filter plt stubs from the 'perf probe --functions' output.
      
         - Update UAPI header copies for asound, DRM, mman-common.h and the
           ones affected by the quotactl_fd syscall"
      
      * tag 'perf-tools-for-v5.14-2021-07-10' of git://git.kernel.org/pub/scm/linux/kernel/git/acme/linux: (29 commits)
        perf test: Add free() calls for scandir() returned dirent entries
        libperf: Add tests for perf_evlist__set_leader()
        libperf: Remove BUG_ON() from library code in get_group_fd()
        libperf: Add group support to perf_evsel__open()
        perf tools: Fix pattern matching for same substring in different PMU type
        perf record: Add a dummy event on hybrid systems to collect metadata records
        perf stat: Add Topdown metrics L2 events as default events
        libperf: Adopt evlist__set_leader() from tools/perf as perf_evlist__set_leader()
        libperf: Move 'nr_groups' from tools/perf to evlist::nr_groups
        libperf: Move 'leader' from tools/perf to perf_evsel::leader
        libperf: Move 'idx' from tools/perf to perf_evsel::idx
        libperf: Change tests to single static and shared binaries
        perf intel-pt: Add a config for max loops without consuming a packet
        perf stat: Disable the NMI watchdog message on hybrid
        perf vendor events power10: Adds 24x7 nest metric events for power10 platform
        perf script python: Fix buffer size to report iregs in perf script
        perf trace: Fix the perf trace link location
        perf top: Fix overflow in elf_sec__is_text()
        perf annotate: Fix 's' on source line when disasm is empty
        perf probe: Do not show @plt function by default
        ...
      b1412bd7
  12. 10 Jul, 2021 3 commits