Tags

Tags give the ability to mark specific points in history as being important
  • x86_tdx_for_6.7

     * Refactor and clean up TDX hypercall/module call infrastructure
     * Handle retrying/resuming page conversion hypercalls
     * Make sure to use the (shockingly) reliable TSC in TDX guests
    
  • bcachefs-2023-10-30

    Initial bcachefs pull request for 6.7-rc1
    
    Here's the bcachefs filesystem pull request.
    
    One new patch since last week: the exportfs constants ended up
    conflicting with other filesystems that are also getting added to the
    global enum, so switched to new constants picked by Amir.
    
    I'll also be sending another pull request later on in the cycle bringing
    things up to date my master branch that people are currently running;
    that will be restricted to fs/bcachefs/, naturally.
    
    Testing - fstests as well as the bcachefs specific tests in ktest:
      https://evilpiepirate.org/~testdashboard/ci?branch=bcachefs-for-upstream
    
    It's also been soaking in linux-next, which resulted in a whole bunch of
    smatch complaints and fixes and a patch or two from Kees.
    
    The only new non fs/bcachefs/ patch is the objtool patch that adds
    bcachefs functions to the list of noreturns. The patch that exports
    osq_lock() has been dropped for now, per Ingo.
    
    Prereq patch list:
    
    faf1dce85275 objtool: Add bcachefs noreturns
    73badee4280c lib/generic-radix-tree.c: Add peek_prev()
    9492261ff246 lib/generic-radix-tree.c: Don't overflow in peek()
    0fb5d567f573 MAINTAINERS: Add entry for generic-radix-tree
    b414e8ecd498 closures: Add a missing include
    48b7935722b8 closures: closure_nr_remaining()
    ced58fc7ab9f closures: closure_wait_event()
    bd0d22e41ecb MAINTAINERS: Add entry for closures
    8c8d2d9670e8 bcache: move closures to lib/
    957e48087dfa locking: export contention tracepoints for bcachefs six locks
    21db931445d8 lib: Export errname
    83feeb195592 lib/string_helpers: string_get_size() now returns characters wrote
    7d672f40941a stacktrace: Export stack_trace_save_tsk
    771eb4fe8b42 fs: factor out d_mark_tmpfile()
    2b69987be575 sched: Add task_struct->faults_disabled_mapping
    
  • Ubuntu-5.15.0-90.100

    Ubuntu-5.15.0-90.100
    
  • v6.6

    ffc25326 · Linux 6.6 ·
    Linux 6.6
    
  • x86-core-2023-10-29-v2

    X86 core code updates:
    
      - Limit the hardcoded topology quirk for Hygon CPUs to those which have a
        model ID less than 4. The newer models have the topology CPUID leaf 0xB
        correctly implemented and are not affected.
    
      - Make SMT control more robust against enumeration failures
    
        SMT control was added to allow controlling SMT at boottime or
        runtime. The primary purpose was to provide a simple mechanism to
        disable SMT in the light of speculation attack vectors.
    
        It turned out that the code is sensible to enumeration failures and
        worked only by chance for XEN/PV. XEN/PV has no real APIC enumeration
        which means the primary thread mask is not set up correctly. By chance
        a XEN/PV boot ends up with smp_num_siblings == 2, which makes the
        hotplug control stay at its default value "enabled". So the mask is
        never evaluated.
    
        The ongoing rework of the topology evaluation caused XEN/PV to end up
        with smp_num_siblings == 1, which sets the SMT control to "not
        supported" and the empty primary thread mask causes the hotplug core to
        deny the bringup of the APS.
    
        Make the decision logic more robust and take 'not supported' and 'not
        implemented' into account for the decision whether a CPU should be
        booted or not.
    
      - Fake primary thread mask for XEN/PV
    
        Pretend that all XEN/PV vCPUs are primary threads, which makes the
        usage of the primary thread mask valid on XEN/PV. That is consistent
        with because all of the topology information on XEN/PV is fake or even
        non-existent.
    
      - Encapsulate topology information in cpuinfo_x86
    
        Move the randomly scattered topology data into a separate data
        structure for readability and as a preparatory step for the topology
        evaluation overhaul.
    
      - Consolidate APIC ID data type to u32
    
        It's fixed width hardware data and not randomly u16, int, unsigned long
        or whatever developers decided to use.
    
      - Cure the abuse of cpuinfo for persisting logical IDs.
    
        Per CPU cpuinfo is used to persist the logical package and die
        IDs. That's really not the right place simply because cpuinfo is
        subject to be reinitialized when a CPU goes through an offline/online
        cycle.
    
        Use separate per CPU data for the persisting to enable the further
        topology management rework. It will be removed once the new topology
        management is in place.
    
      - Provide a debug interface for inspecting topology information
    
        Useful in general and extremly helpful for validating the topology
        management rework in terms of correctness or "bug" compatibility.
    
  • x86-apic-2023-10-29-v2

    Updates for the X86 APIC:
    
      - Make the quirk for non-maskable MSI interrupts in the affinity setter
        functional again.
    
        It was broken by a MSI core code update, which restructured the code in
        a way that the quirk flag was not longer set correctly.
    
        Trying to restore the core logic caused a deeper inspection and it
        turned out that the extra quirk flag is not required at all because
        it's the inverse of the reservation mode bit, which only can be set
        when the MSI interrupt is maskable.
    
        So the trivial fix is to use the reservation mode check in the affinity
        setter function and remove almost 40 lines of code related to the
        no-mask quirk flag.
    
      - Cure a Kconfig dependency issue which causes compile fails by correcting
        the conditionals in the affected heaer files.
    
      - Clean up coding style in the UV APIC driver.
    
  • timers-core-2023-10-29-v2

    Update for time, timekeeping and timers:
    
     Core:
    
       - Avoid superfluous deactivation of the tick in the low resolution tick
         NOHZ interrupt handler as the deactivation is handled already in the
         idle loop and on interrupt exit.
    
       - Update stale comments in the tick NOHZ code and rename the tick
         handler functions to be self-explanatory.
    
       - Remove an unused function in the tick NOHZ code, which was forgotten
         when the last user went away.
    
       - Handle RTC alarms which exceed the maximum alarm time of the
         underlying RTC hardware gracefully.
    
         Setting RTC alarms which exceed the maximum alarm time of the RTC
         hardware failed so far and caused suspend operations to abort.
    
         Cure this by limiting the alarm to the maximum alarm time of the RTC
         hardware, which is provided by the driver. This causes early resume
         wakeups, but that's way better than not suspending at all.
    
     Drivers:
    
       - Add a proper clocksource/event driver for the ancient Cirrus Logic
         EP93xx SoC family, which is one of the last non device-tree holdouts
         in arch/arm.
    
       - The usual boring device tree bindings updates and small fixes and
         enhancements all over the place.
    
  • smp-core-2023-10-29-v2

    Updates for SMP and CPU hotplug:
    
      - Switch the smp_call_function*() @csd argument to call_single_data_t
        type, which is a cache-line aligned typedef of the underlying struct
        __call_single_data.
    
        This ensures that the call data is not crossing a cacheline which
        avoids bouncing an extra cache-line for the SMP function call
    
      - Prevent offlining of the last housekeeping CPU when CPU isolation is
        active.
    
        Offlining the last housekeeping CPU makes no sense in general, but also
        caused the scheduler to panic due to the empty CPU mask when rebuilding
        the scheduler domains.
    
      - Remove an unused CPU hotplug state
    
  • irq-core-2023-10-29-v2

    Updates for the interrupt subsytem:
    
      Core:
    
        - Exclude managed interrupts in the calculation of interrupts which are
          targeted to a CPU which is about to be offlined to ensure that there
          are enough free vectors on the still online CPUs to migrate them over.
    
          Managed interrupts do not need to be accounted because they are
          either shut down on offline or migrated to an already reserved and
          guaranteed slot on a still online CPU in the interrupts affinity
          mask.
    
          Including managed interrupts is overaccounting and can result in
          needlessly aborting hibernation on large server machines.
    
        - The usual set of small improvements
    
      Drivers:
    
        - Make the generic interrupt chip implementation handle interrupt
          domains correctly and initialize the name pointers correctly
    
        - Add interrupt affinity setting support to the Renesas RZG2L chip
          driver.
    
        - Prevent registering syscore operations multiple times in the SiFive
          PLIC chip driver.
    
        - Update device tree handling in the NXP Layerscape MSI chip driver
    
  • core-core-2023-10-29-v2

    Two small updates to ptrace_stop():
    
      - Add a comment to explain that the preempt_disable() before unlocking
        tasklist lock is not a correctness problem and just avoids the tracer
        to preempt the tracee before the tracee schedules out.
    
      - Make that preempt_disable() conditional on PREEMPT_RT=n.
    
        RT enabled kernels cannot disable preemption at this point because
        cgroup_enter_frozen() and sched_submit_work() acquire spinlocks or
        rwlocks which are substituted by sleeping locks on RT. Acquiring a
        sleeping lock in a preemption disable region is obviously not possible.
    
        This obviously brings back the potential slowdown of ptrace() for RT
        enabled kernels, but that's a price to be payed for latency guarantees.
    
  • x86-mm-2023-10-28

    x86 MM handling code changes for v6.7:
    
     - Add new NX-stack self-test
     - Improve NUMA partial-CFMWS handling
     - Fix #VC handler bugs resulting in SEV-SNP boot failures
     - Drop the 4MB memory size restriction on minimal NUMA nodes
     - Reorganize headers a bit, in preparation to header dependency reduction efforts
     - Misc cleanups & fixes
    
    Signed-off-by: Ingo Molnar <mingo@kernel.org>
    
  • x86-irq-2023-10-28

    Fix out-of-order NMI nesting checks resulting in false positive warnings.
    
    Signed-off-by: Ingo Molnar <mingo@kernel.org>
    
  • x86-headers-2023-10-28

    Replace <asm/export.h> uses with <linux/export.h> and then remove <asm/export.h>.
    
    Signed-off-by: Ingo Molnar <mingo@kernel.org>
    
  • x86-entry-2023-10-28

    Changes to the x86 entry code in v6.7:
    
     - Make IA32_EMULATION boot time configurable with
       the new ia32_emulation=<bool> boot option.
    
     - Clean up fast syscall return validation code: convert
       it to C and refactor the code.
    
     - As part of this, optimize the canonical RIP test code.
    
    Signed-off-by: Ingo Molnar <mingo@kernel.org>
    
  • x86-build-2023-10-28

    Enable CONFIG_DEBUG_ENTRY=y in the x86 defconfigs.
    
    Signed-off-by: Ingo Molnar <mingo@kernel.org>
    
  • irq-urgent-2023-10-28

    Restore unintentionally lost quirk settings in the GIC irqchip driver,
    which broke certain devices.
    
    Signed-off-by: Ingo Molnar <mingo@kernel.org>
    
  • x86-boot-2023-10-28

    Changes to the x86 boot code in v6.7:
    
     - Rework PE header generation, primarily to generate a modern, 4k aligned
       kernel image view with narrower W^X permissions.
    
     - Further refine init-lifetime annotations
    
     - Misc cleanups & fixes
    
    Signed-off-by: Ingo Molnar <mingo@kernel.org>
    
  • x86-asm-2023-10-28

    x86 assembly code improvements for v6.7 are:
    
    - Micro-optimize the x86 bitops code
    - Define target-specific {raw,this}_cpu_try_cmpxchg{64,128}() to improve code generation
    - Define and use raw_cpu_try_cmpxchg() preempt_count_set()
    - Do not clobber %rsi in percpu_{try_,}cmpxchg{64,128}_op
    - Remove the unused __sw_hweight64() implementation on x86-32
    - Misc fixes and cleanups
    
    Signed-off-by: Ingo Molnar <mingo@kernel.org>
    
  • sched-core-2023-10-28

    Scheduler changes for v6.7 are:
    
     - Fair scheduler (SCHED_OTHER) improvements:
    
        - Remove the old and now unused SIS_PROP code & option
        - Scan cluster before LLC in the wake-up path
        - Use candidate prev/recent_used CPU if scanning failed for cluster wakeup
    
     - NUMA scheduling improvements:
    
        - Improve the VMA access-PID code to better skip/scan VMAs
        - Extend tracing to cover VMA-skipping decisions
        - Improve/fix the recently introduced sched_numa_find_nth_cpu() code
        - Generalize numa_map_to_online_node()
    
     - Energy scheduling improvements:
    
        - Remove the EM_MAX_COMPLEXITY limit
        - Add tracepoints to track energy computation
        - Make the behavior of the 'sched_energy_aware' sysctl more consistent
        - Consolidate and clean up access to a CPU's max compute capacity
        - Fix uclamp code corner cases
    
     - RT scheduling improvements:
    
        - Drive dl_rq->overloaded with dl_rq->pushable_dl_tasks updates
        - Drive the ->rto_mask with rt_rq->pushable_tasks updates
    
     - Scheduler scalability improvements:
    
        - Rate-limit updates to tg->load_avg
        - On x86 disable IBRS when CPU is offline to improve single-threaded performance
        - Micro-optimize in_task() and in_interrupt()
        - Micro-optimize the PSI code
        - Avoid updating PSI triggers and ->rtpoll_total when there are no state changes
    
     - Core scheduler infrastructure improvements:
    
        - Use saved_state to reduce some spurious freezer wakeups
        - Bring in a handful of fast-headers improvements to scheduler headers
        - Make the scheduler UAPI headers more widely usable by user-space
        - Simplify the control flow of scheduler syscalls by using lock guards
        - Fix sched_setaffinity() vs. CPU hotplug race
    
     - Scheduler debuggability improvements:
        - Disallow writing invalid values to sched_rt_period_us
        - Fix a race in the rq-clock debugging code triggering warnings
        - Fix a warning in the bandwidth distribution code
        - Micro-optimize in_atomic_preempt_off() checks
        - Enforce that the tasklist_lock is held in for_each_thread()
        - Print the TGID in sched_show_task()
        - Remove the /proc/sys/kernel/sched_child_runs_first sysctl
    
     - Misc cleanups & fixes
    
    Signed-off-by: Ingo Molnar <mingo@kernel.org>
    
  • perf-core-2023-10-28

    Performance events changes for v6.7 are:
    
     - Add AMD Unified Memory Controller (UMC) events introduced with Zen 4
     - Simplify & clean up the uncore management code
     - Fall back from RDPMC to RDMSR on certain uncore PMUs
     - Improve per-package and cstate event reading
     - Extend the Intel ref-cycles event to GP counters
     - Fix Intel MTL event constraints
     - Improve the Intel hybrid CPU handling code
     - Micro-optimize the RAPL code
     - Optimize perf_cgroup_switch()
     - Improve large AUX area error handling
    
     - Misc fixes and cleanups
    
    Signed-off-by: Ingo Molnar <mingo@kernel.org>