1. 13 Jan, 2023 7 commits
  2. 12 Jan, 2023 3 commits
  3. 10 Jan, 2023 2 commits
  4. 09 Jan, 2023 1 commit
  5. 06 Jan, 2023 1 commit
  6. 05 Jan, 2023 1 commit
  7. 04 Jan, 2023 1 commit
  8. 03 Jan, 2023 2 commits
  9. 02 Jan, 2023 1 commit
  10. 25 Dec, 2022 2 commits
    • Linus Torvalds's avatar
      Linux 6.2-rc1 · 1b929c02
      Linus Torvalds authored
      1b929c02
    • Steven Rostedt (Google)'s avatar
      treewide: Convert del_timer*() to timer_shutdown*() · 292a089d
      Steven Rostedt (Google) authored
      Due to several bugs caused by timers being re-armed after they are
      shutdown and just before they are freed, a new state of timers was added
      called "shutdown".  After a timer is set to this state, then it can no
      longer be re-armed.
      
      The following script was run to find all the trivial locations where
      del_timer() or del_timer_sync() is called in the same function that the
      object holding the timer is freed.  It also ignores any locations where
      the timer->function is modified between the del_timer*() and the free(),
      as that is not considered a "trivial" case.
      
      This was created by using a coccinelle script and the following
      commands:
      
          $ cat timer.cocci
          @@
          expression ptr, slab;
          identifier timer, rfield;
          @@
          (
          -       del_timer(&ptr->timer);
          +       timer_shutdown(&ptr->timer);
          |
          -       del_timer_sync(&ptr->timer);
          +       timer_shutdown_sync(&ptr->timer);
          )
            ... when strict
                when != ptr->timer
          (
                  kfree_rcu(ptr, rfield);
          |
                  kmem_cache_free(slab, ptr);
          |
                  kfree(ptr);
          )
      
          $ spatch timer.cocci . > /tmp/t.patch
          $ patch -p1 < /tmp/t.patch
      
      Link: https://lore.kernel.org/lkml/20221123201306.823305113@linutronix.de/Signed-off-by: default avatarSteven Rostedt (Google) <rostedt@goodmis.org>
      Acked-by: Pavel Machek <pavel@ucw.cz> [ LED ]
      Acked-by: Kalle Valo <kvalo@kernel.org> [ wireless ]
      Acked-by: Paolo Abeni <pabeni@redhat.com> [ networking ]
      Signed-off-by: default avatarLinus Torvalds <torvalds@linux-foundation.org>
      292a089d
  11. 23 Dec, 2022 16 commits
  12. 22 Dec, 2022 3 commits
    • Linus Torvalds's avatar
      Merge tag 'scsi-misc' of git://git.kernel.org/pub/scm/linux/kernel/git/jejb/scsi · 8395ae05
      Linus Torvalds authored
      Pull more SCSI updates from James Bottomley:
       "Mostly small bug fixes and small updates.
      
        The only things of note is a qla2xxx fix for crash on hotplug and
        timeout and the addition of a user exposed abstraction layer for
        persistent reservation error return handling (which necessitates the
        conversion of nvme.c as well as SCSI)"
      
      * tag 'scsi-misc' of git://git.kernel.org/pub/scm/linux/kernel/git/jejb/scsi:
        scsi: qla2xxx: Fix crash when I/O abort times out
        nvme: Convert NVMe errors to PR errors
        scsi: sd: Convert SCSI errors to PR errors
        scsi: core: Rename status_byte to sg_status_byte
        block: Add error codes for common PR failures
        scsi: sd: sd_zbc: Trace zone append emulation
        scsi: libfc: Include the correct header
      8395ae05
    • Linus Torvalds's avatar
      Merge tag 'afs-next-20221222' of git://git.kernel.org/pub/scm/linux/kernel/git/dhowells/linux-fs · ff75ec43
      Linus Torvalds authored
      Pull afs update from David Howells:
       "A fix for a couple of missing resource counter decrements, two small
        cleanups of now-unused bits of code and a patch to remove writepage
        support from afs"
      
      * tag 'afs-next-20221222' of git://git.kernel.org/pub/scm/linux/kernel/git/dhowells/linux-fs:
        afs: Stop implementing ->writepage()
        afs: remove afs_cache_netfs and afs_zap_permits() declarations
        afs: remove variable nr_servers
        afs: Fix lost servers_outstanding count
      ff75ec43
    • Linus Torvalds's avatar
      Merge tag 'perf-tools-for-v6.2-2-2022-12-22' of... · d1ac1a2b
      Linus Torvalds authored
      Merge tag 'perf-tools-for-v6.2-2-2022-12-22' of git://git.kernel.org/pub/scm/linux/kernel/git/acme/linux
      
      Pull more perf tools updates from Arnaldo Carvalho de Melo:
       "perf tools fixes and improvements:
      
         - Don't stop building perf if python setuptools isn't installed, just
           disable the affected perf feature.
      
         - Remove explicit reference to python 2.x devel files, that warning
           is about python-devel, no matter what version, being unavailable
           and thus disabling the linking with libpython.
      
         - Don't use -Werror=switch-enum when building the python support that
           handles libtraceevent enumerations, as there is no good way to test
           if some specific enum entry is available with the libtraceevent
           installed on the system.
      
         - Introduce 'perf lock contention' --type-filter and --lock-filter,
           to filter by lock type and lock name:
      
              $ sudo ./perf lock record -a -- ./perf bench sched messaging
      
              $ sudo ./perf lock contention -E 5 -Y spinlock
               contended  total wait   max wait  avg wait      type  caller
      
                     802     1.26 ms   11.73 us   1.58 us  spinlock  __wake_up_common_lock+0x62
                      13   787.16 us  105.44 us  60.55 us  spinlock  remove_wait_queue+0x14
                      12   612.96 us   78.70 us  51.08 us  spinlock  prepare_to_wait+0x27
                     114   340.68 us   12.61 us   2.99 us  spinlock  try_to_wake_up+0x1f5
                      83   226.38 us    9.15 us   2.73 us  spinlock  folio_lruvec_lock_irqsave+0x5e
      
              $ sudo ./perf lock contention -l
               contended  total wait  max wait  avg wait           address  symbol
      
                      57     1.11 ms  42.83 us  19.54 us  ffff9f4140059000
                      15   280.88 us  23.51 us  18.73 us  ffffffff9d007a40  jiffies_lock
                       1    20.49 us  20.49 us  20.49 us  ffffffff9d0d50c0  rcu_state
                       1     9.02 us   9.02 us   9.02 us  ffff9f41759e9ba0
      
              $ sudo ./perf lock contention -L jiffies_lock,rcu_state
               contended  total wait  max wait  avg wait      type  caller
      
                      15   280.88 us  23.51 us  18.73 us  spinlock  tick_sched_do_timer+0x93
                       1    20.49 us  20.49 us  20.49 us  spinlock  __softirqentry_text_start+0xeb
      
              $ sudo ./perf lock contention -L ffff9f4140059000
               contended  total wait  max wait  avg wait      type  caller
      
                      38   779.40 us  42.83 us  20.51 us  spinlock  worker_thread+0x50
                      11   216.30 us  39.87 us  19.66 us  spinlock  queue_work_on+0x39
                       8   118.13 us  20.51 us  14.77 us  spinlock  kthread+0xe5
      
         - Fix splitting CC into compiler and options when checking if a
           option is present in clang to build the python binding, needed in
           systems such as yocto that set CC to, e.g.: "gcc --sysroot=/a/b/c".
      
         - Refresh metris and events for Intel systems: alderlake.
           alderlake-n, bonnell, broadwell, broadwellde, broadwellx,
           cascadelakex, elkhartlake, goldmont, goldmontplus, haswell,
           haswellx, icelake, icelakex, ivybridge, ivytown, jaketown,
           knightslanding, meteorlake, nehalemep, nehalemex, sandybridge,
           sapphirerapids, silvermont, skylake, skylakex, snowridgex,
           tigerlake, westmereep-dp, westmereep-sp, westmereex.
      
         - Add vendor events files (JSON) for AMD Zen 4, from sections
           2.1.15.4 "Core Performance Monitor Counters", 2.1.15.5 "L3 Cache
           Performance Monitor Counter"s and Section 7.1 "Fabric Performance
           Monitor Counter (PMC) Events" in the Processor Programming
           Reference (PPR) for AMD Family 19h Model 11h Revision B1
           processors.
      
           This constitutes events which capture op dispatch, execution and
           retirement, branch prediction, L1 and L2 cache activity, TLB
           activity, L3 cache activity and data bandwidth for various links
           and interfaces in the Data Fabric.
      
         - Also, from the same PPR are metrics taken from Section 2.1.15.2
           "Performance Measurement", including pipeline utilization, which
           are new to Zen 4 processors and useful for finding performance
           bottlenecks by analyzing activity at different stages of the
           pipeline.
      
         - Greatly improve the 'srcline', 'srcline_from', 'srcline_to' and
           'srcfile' sort keys performance by postponing calling the external
           addr2line utility to the collapse phase of histogram bucketing.
      
         - Fix 'perf test' "all PMU test" to skip parametrized events, that
           requires setting up and are not supported by this test.
      
         - Update tools/ copies of kernel headers: features,
           disabled-features, fscrypt.h, i915_drm.h, msr-index.h, power pc
           syscall table and kvm.h.
      
         - Add .DELETE_ON_ERROR special Makefile target to clean up partially
           updated files on error.
      
         - Simplify the mksyscalltbl script for arm64 by avoiding to run the
           host compiler to create the syscall table, do it all just with the
           shell script.
      
         - Further fixes to honour quiet mode (-q)"
      
      * tag 'perf-tools-for-v6.2-2-2022-12-22' of git://git.kernel.org/pub/scm/linux/kernel/git/acme/linux: (67 commits)
        perf python: Fix splitting CC into compiler and options
        perf scripting python: Don't be strict at handling libtraceevent enumerations
        perf arm64: Simplify mksyscalltbl
        perf build: Remove explicit reference to python 2.x devel files
        perf vendor events amd: Add Zen 4 mapping
        perf vendor events amd: Add Zen 4 metrics
        perf vendor events amd: Add Zen 4 uncore events
        perf vendor events amd: Add Zen 4 core events
        perf vendor events intel: Refresh westmereex events
        perf vendor events intel: Refresh westmereep-sp events
        perf vendor events intel: Refresh westmereep-dp events
        perf vendor events intel: Refresh tigerlake metrics and events
        perf vendor events intel: Refresh snowridgex events
        perf vendor events intel: Refresh skylakex metrics and events
        perf vendor events intel: Refresh skylake metrics and events
        perf vendor events intel: Refresh silvermont events
        perf vendor events intel: Refresh sapphirerapids metrics and events
        perf vendor events intel: Refresh sandybridge metrics and events
        perf vendor events intel: Refresh nehalemex events
        perf vendor events intel: Refresh nehalemep events
        ...
      d1ac1a2b