1. 23 Feb, 2021 33 commits
  2. 21 Feb, 2021 7 commits
    • Dan Carpenter's avatar
      octeontx2-af: Fix an off by one in rvu_dbg_qsize_write() · 3a2eb515
      Dan Carpenter authored
      This code does not allocate enough memory for the NUL terminator so it
      ends up putting it one character beyond the end of the buffer.
      
      Fixes: 8756828a ("octeontx2-af: Add NPA aura and pool contexts to debugfs")
      Signed-off-by: default avatarDan Carpenter <dan.carpenter@oracle.com>
      Signed-off-by: default avatarDavid S. Miller <davem@davemloft.net>
      3a2eb515
    • Linus Torvalds's avatar
      Merge tag 'perf-core-2021-02-17' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip · d310ec03
      Linus Torvalds authored
      Pull performance event updates from Ingo Molnar:
      
       - Add CPU-PMU support for Intel Sapphire Rapids CPUs
      
       - Extend the perf ABI with PERF_SAMPLE_WEIGHT_STRUCT, to offer
         two-parameter sampling event feedback. Not used yet, but is intended
         for Golden Cove CPU-PMU, which can provide both the instruction
         latency and the cache latency information for memory profiling
         events.
      
       - Remove experimental, default-disabled perfmon-v4 counter_freezing
         support that could only be enabled via a boot option. The hardware is
         hopelessly broken, we'd like to make sure nobody starts relying on
         this, as it would only end in tears.
      
       - Fix energy/power events on Intel SPR platforms
      
       - Simplify the uprobes resume_execution() logic
      
       - Misc smaller fixes.
      
      * tag 'perf-core-2021-02-17' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip:
        perf/x86/rapl: Fix psys-energy event on Intel SPR platform
        perf/x86/rapl: Only check lower 32bits for RAPL energy counters
        perf/x86/rapl: Add msr mask support
        perf/x86/kvm: Add Cascade Lake Xeon steppings to isolation_ucodes[]
        perf/x86/intel: Support CPUID 10.ECX to disable fixed counters
        perf/x86/intel: Add perf core PMU support for Sapphire Rapids
        perf/x86/intel: Filter unsupported Topdown metrics event
        perf/x86/intel: Factor out intel_update_topdown_event()
        perf/core: Add PERF_SAMPLE_WEIGHT_STRUCT
        perf/intel: Remove Perfmon-v4 counter_freezing support
        x86/perf: Use static_call for x86_pmu.guest_get_msrs
        perf/x86/intel/uncore: With > 8 nodes, get pci bus die id from NUMA info
        perf/x86/intel/uncore: Store the logical die id instead of the physical die id.
        x86/kprobes: Do not decode opcode in resume_execution()
      d310ec03
    • Linus Torvalds's avatar
      Merge tag 'sched-core-2021-02-17' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip · 657bd90c
      Linus Torvalds authored
      Pull scheduler updates from Ingo Molnar:
       "Core scheduler updates:
      
         - Add CONFIG_PREEMPT_DYNAMIC: this in its current form adds the
           preempt=none/voluntary/full boot options (default: full), to allow
           distros to build a PREEMPT kernel but fall back to close to
           PREEMPT_VOLUNTARY (or PREEMPT_NONE) runtime scheduling behavior via
           a boot time selection.
      
           There's also the /debug/sched_debug switch to do this runtime.
      
           This feature is implemented via runtime patching (a new variant of
           static calls).
      
           The scope of the runtime patching can be best reviewed by looking
           at the sched_dynamic_update() function in kernel/sched/core.c.
      
           ( Note that the dynamic none/voluntary mode isn't 100% identical,
             for example preempt-RCU is available in all cases, plus the
             preempt count is maintained in all models, which has runtime
             overhead even with the code patching. )
      
           The PREEMPT_VOLUNTARY/PREEMPT_NONE models, used by the vast
           majority of distributions, are supposed to be unaffected.
      
         - Fix ignored rescheduling after rcu_eqs_enter(). This is a bug that
           was found via rcutorture triggering a hang. The bug is that
           rcu_idle_enter() may wake up a NOCB kthread, but this happens after
           the last generic need_resched() check. Some cpuidle drivers fix it
           by chance but many others don't.
      
           In true 2020 fashion the original bug fix has grown into a 5-patch
           scheduler/RCU fix series plus another 16 RCU patches to address the
           underlying issue of missed preemption events. These are the initial
           fixes that should fix current incarnations of the bug.
      
         - Clean up rbtree usage in the scheduler, by providing & using the
           following consistent set of rbtree APIs:
      
             partial-order; less() based:
               - rb_add(): add a new entry to the rbtree
               - rb_add_cached(): like rb_add(), but for a rb_root_cached
      
             total-order; cmp() based:
               - rb_find(): find an entry in an rbtree
               - rb_find_add(): find an entry, and add if not found
      
               - rb_find_first(): find the first (leftmost) matching entry
               - rb_next_match(): continue from rb_find_first()
               - rb_for_each(): iterate a sub-tree using the previous two
      
         - Improve the SMP/NUMA load-balancer: scan for an idle sibling in a
           single pass. This is a 4-commit series where each commit improves
           one aspect of the idle sibling scan logic.
      
         - Improve the cpufreq cooling driver by getting the effective CPU
           utilization metrics from the scheduler
      
         - Improve the fair scheduler's active load-balancing logic by
           reducing the number of active LB attempts & lengthen the
           load-balancing interval. This improves stress-ng mmapfork
           performance.
      
         - Fix CFS's estimated utilization (util_est) calculation bug that can
           result in too high utilization values
      
        Misc updates & fixes:
      
         - Fix the HRTICK reprogramming & optimization feature
      
         - Fix SCHED_SOFTIRQ raising race & warning in the CPU offlining code
      
         - Reduce dl_add_task_root_domain() overhead
      
         - Fix uprobes refcount bug
      
         - Process pending softirqs in flush_smp_call_function_from_idle()
      
         - Clean up task priority related defines, remove *USER_*PRIO and
           USER_PRIO()
      
         - Simplify the sched_init_numa() deduplication sort
      
         - Documentation updates
      
         - Fix EAS bug in update_misfit_status(), which degraded the quality
           of energy-balancing
      
         - Smaller cleanups"
      
      * tag 'sched-core-2021-02-17' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip: (51 commits)
        sched,x86: Allow !PREEMPT_DYNAMIC
        entry/kvm: Explicitly flush pending rcuog wakeup before last rescheduling point
        entry: Explicitly flush pending rcuog wakeup before last rescheduling point
        rcu/nocb: Trigger self-IPI on late deferred wake up before user resume
        rcu/nocb: Perform deferred wake up before last idle's need_resched() check
        rcu: Pull deferred rcuog wake up to rcu_eqs_enter() callers
        sched/features: Distinguish between NORMAL and DEADLINE hrtick
        sched/features: Fix hrtick reprogramming
        sched/deadline: Reduce rq lock contention in dl_add_task_root_domain()
        uprobes: (Re)add missing get_uprobe() in __find_uprobe()
        smp: Process pending softirqs in flush_smp_call_function_from_idle()
        sched: Harden PREEMPT_DYNAMIC
        static_call: Allow module use without exposing static_call_key
        sched: Add /debug/sched_preempt
        preempt/dynamic: Support dynamic preempt with preempt= boot option
        preempt/dynamic: Provide irqentry_exit_cond_resched() static call
        preempt/dynamic: Provide preempt_schedule[_notrace]() static calls
        preempt/dynamic: Provide cond_resched() and might_resched() static calls
        preempt: Introduce CONFIG_PREEMPT_DYNAMIC
        static_call: Provide DEFINE_STATIC_CALL_RET0()
        ...
      657bd90c
    • Linus Torvalds's avatar
      Merge tag 'core-mm-2021-02-17' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip · 7b15c27e
      Linus Torvalds authored
      Pull tlb gather updates from Ingo Molnar:
       "Theses fix MM (soft-)dirty bit management in the procfs code & clean
        up the TLB gather API"
      
      * tag 'core-mm-2021-02-17' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip:
        x86/ldt: Use tlb_gather_mmu_fullmm() when freeing LDT page-tables
        tlb: arch: Remove empty __tlb_remove_tlb_entry() stubs
        tlb: mmu_gather: Remove start/end arguments from tlb_gather_mmu()
        tlb: mmu_gather: Introduce tlb_gather_mmu_fullmm()
        tlb: mmu_gather: Remove unused start/end arguments from tlb_finish_mmu()
        mm: proc: Invalidate TLB after clearing soft-dirty page state
      7b15c27e
    • Linus Torvalds's avatar
      Merge tag 'locking-core-2021-02-17' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip · 9eef0233
      Linus Torvalds authored
      Pull locking updates from Ingo Molnar:
       "Core locking primitives updates:
          - Remove mutex_trylock_recursive() from the API - no users left
          - Simplify + constify the futex code a bit
      
        Lockdep updates:
          - Teach lockdep about local_lock_t
          - Add CONFIG_DEBUG_IRQFLAGS=y debug config option to check for
            potentially unsafe IRQ mask restoration patterns. (I.e.
            calling raw_local_irq_restore() with IRQs enabled.)
          - Add wait context self-tests
          - Fix graph lock corner case corrupting internal data structures
          - Fix noinstr annotations
      
        LKMM updates:
          - Simplify the litmus tests
          - Documentation fixes
      
        KCSAN updates:
          - Re-enable KCSAN instrumentation in lib/random32.c
      
        Misc fixes:
          - Don't branch-trace static label APIs
          - DocBook fix
          - Remove stale leftover empty file"
      
      * tag 'locking-core-2021-02-17' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip: (24 commits)
        checkpatch: Don't check for mutex_trylock_recursive()
        locking/mutex: Kill mutex_trylock_recursive()
        s390: Use arch_local_irq_{save,restore}() in early boot code
        lockdep: Noinstr annotate warn_bogus_irq_restore()
        locking/lockdep: Avoid unmatched unlock
        locking/rwsem: Remove empty rwsem.h
        locking/rtmutex: Add missing kernel-doc markup
        futex: Remove unneeded gotos
        futex: Change utime parameter to be 'const ... *'
        lockdep: report broken irq restoration
        jump_label: Do not profile branch annotations
        locking: Add Reviewers
        locking/selftests: Add local_lock inversion tests
        locking/lockdep: Exclude local_lock_t from IRQ inversions
        locking/lockdep: Clean up check_redundant() a bit
        locking/lockdep: Add a skip() function to __bfs()
        locking/lockdep: Mark local_lock_t
        locking/selftests: More granular debug_locks_verbose
        lockdep/selftest: Add wait context selftests
        tools/memory-model: Fix typo in klitmus7 compatibility table
        ...
      9eef0233
    • Linus Torvalds's avatar
      Merge tag 'core-rcu-2021-02-17' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip · d089f48f
      Linus Torvalds authored
      Pull RCU updates from Ingo Molnar:
       "These are the latest RCU updates for v5.12:
      
         - Documentation updates.
      
         - Miscellaneous fixes.
      
         - kfree_rcu() updates: Addition of mem_dump_obj() to provide
           allocator return addresses to more easily locate bugs. This has a
           couple of RCU-related commits, but is mostly MM. Was pulled in with
           akpm's agreement.
      
         - Per-callback-batch tracking of numbers of callbacks, which enables
           better debugging information and smarter reactions to large numbers
           of callbacks.
      
         - The first round of changes to allow CPUs to be runtime switched
           from and to callback-offloaded state.
      
         - CONFIG_PREEMPT_RT-related changes.
      
         - RCU CPU stall warning updates.
      
         - Addition of polling grace-period APIs for SRCU.
      
         - Torture-test and torture-test scripting updates, including a
           "torture everything" script that runs rcutorture, locktorture,
           scftorture, rcuscale, and refscale. Plus does an allmodconfig
           build.
      
         - nolibc fixes for the torture tests"
      
      * tag 'core-rcu-2021-02-17' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip: (130 commits)
        percpu_ref: Dump mem_dump_obj() info upon reference-count underflow
        rcu: Make call_rcu() print mem_dump_obj() info for double-freed callback
        mm: Make mem_obj_dump() vmalloc() dumps include start and length
        mm: Make mem_dump_obj() handle vmalloc() memory
        mm: Make mem_dump_obj() handle NULL and zero-sized pointers
        mm: Add mem_dump_obj() to print source of memory block
        tools/rcutorture: Fix position of -lgcc in mkinitrd.sh
        tools/nolibc: Fix position of -lgcc in the documented example
        tools/nolibc: Emit detailed error for missing alternate syscall number definitions
        tools/nolibc: Remove incorrect definitions of __ARCH_WANT_*
        tools/nolibc: Get timeval, timespec and timezone from linux/time.h
        tools/nolibc: Implement poll() based on ppoll()
        tools/nolibc: Implement fork() based on clone()
        tools/nolibc: Make getpgrp() fall back to getpgid(0)
        tools/nolibc: Make dup2() rely on dup3() when available
        tools/nolibc: Add the definition for dup()
        rcutorture: Add rcutree.use_softirq=0 to RUDE01 and TASKS01
        torture: Maintain torture-specific set of CPUs-online books
        torture: Clean up after torture-test CPU hotplugging
        rcutorture: Make object_debug also double call_rcu() heap object
        ...
      d089f48f
    • Linus Torvalds's avatar
      Merge tag 'timers-core-2021-02-15' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip · 3f6ec19f
      Linus Torvalds authored
      Pull timer updates from Thomas Gleixner:
       "Time and timer updates:
      
         - Instead of new drivers remove tango, sirf, u300 and atlas drivers
      
         - Add suspend/resume support for microchip pit64b
      
         - The usual fixes, improvements and cleanups here and there"
      
      * tag 'timers-core-2021-02-15' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip:
        timens: Delete no-op time_ns_init()
        alarmtimer: Update kerneldoc
        clocksource/drivers/timer-microchip-pit64b: Add clocksource suspend/resume
        clocksource/drivers/prima: Remove sirf prima driver
        clocksource/drivers/atlas: Remove sirf atlas driver
        clocksource/drivers/tango: Remove tango driver
        clocksource/drivers/u300: Remove the u300 driver
        dt-bindings: timer: nuvoton: Clarify that interrupt of timer 0 should be specified
        clocksource/drivers/davinci: Move pr_fmt() before the includes
        clocksource/drivers/efm32: Drop unused timer code
      3f6ec19f