01 Feb, 2020

2 commits


31 Jan, 2020

7 commits

  • …net-next") into android-common

    Baby steps in the 5.6-rc1 merge cycle to make things easier to review
    and debug.

    Signed-off-by: Greg Kroah-Hartman <gregkh@google.com>
    Change-Id: I4c44b3c32065ea0ed8175b31665f2a4195a27300

    Greg Kroah-Hartman
     
  • This reverts commit 22cf3ea7201b8b16ac3c1c54f470f9f7570365e2.

    It conflicts with the BPF merge and will come in through the upstream
    tree.

    Cc: Sami Tolvanen
    Signed-off-by: Greg Kroah-Hartman
    Change-Id: I404d2e9efcd6057d481be2562cb9b2a559b70e58

    Greg Kroah-Hartman
     
  • This reverts commit f6a4d900cc5031dc4521a50b795c6e0b5365f96a.

    It conflicts with the BPF merge and will come in through that tree
    instead.

    Cc: Sami Tolvanen
    Signed-off-by: Greg Kroah-Hartman
    Change-Id: Idffa84def2a994a306c79803d49b7461adfae44c

    Greg Kroah-Hartman
     
  • …kernel/git/herbert/crypto-2.6") into android-mainline

    Baby steps in the 5.6-rc1 merge cycle to make things easier to review
    and debug.

    Signed-off-by: Greg Kroah-Hartman <gregkh@google.com>
    Change-Id: I6d63f7c9484210bae7474a809defd1aaa58e15f8

    Greg Kroah-Hartman
     
  • >From Intel 64 and IA-32 Architectures Optimization Reference Manual,
    3.4.1.4 Code Alignment, Assembly/Compiler Coding Rule 11: All branch
    targets should be 16-byte aligned.

    This commits aligns branch targets according to the Intel manual.

    The nops used to align branch targets make the dispatcher larger, and
    therefore the number of supported dispatch points/programs are
    descreased from 64 to 48.

    Signed-off-by: Björn Töpel
    Signed-off-by: Alexei Starovoitov
    Link: https://lore.kernel.org/bpf/20191213175112.30208-7-bjorn.topel@gmail.com
    (cherry picked from commit 116eb788f57c9c35c40b29cfaa2607020de99a84)
    Bug: 145210207
    Change-Id: I04996cd41bf109aaa63b5aa23773c34ef1f90d8b
    Signed-off-by: Sami Tolvanen

    Björn Töpel
     
  • The BPF dispatcher is a multi-way branch code generator, mainly
    targeted for XDP programs. When an XDP program is executed via the
    bpf_prog_run_xdp(), it is invoked via an indirect call. The indirect
    call has a substantial performance impact, when retpolines are
    enabled. The dispatcher transform indirect calls to direct calls, and
    therefore avoids the retpoline. The dispatcher is generated using the
    BPF JIT, and relies on text poking provided by bpf_arch_text_poke().

    The dispatcher hijacks a trampoline function it via the __fentry__ nop
    of the trampoline. One dispatcher instance currently supports up to 64
    dispatch points. A user creates a dispatcher with its corresponding
    trampoline with the DEFINE_BPF_DISPATCHER macro.

    Signed-off-by: Björn Töpel
    Signed-off-by: Alexei Starovoitov
    Link: https://lore.kernel.org/bpf/20191213175112.30208-3-bjorn.topel@gmail.com
    (cherry picked from commit 75ccbef6369e94ecac696a152a998a978d41376b)
    Bug: 145210207
    Change-Id: Ieb954fd4c968e41f1c1b9ea03ab89fd1f73df5cd
    Signed-off-by: Sami Tolvanen

    Björn Töpel
     
  • This reverts commit d9756ba082c13d928d6904bc3741a1c08b4bd783.

    Reason for revert: fixes a conflict with upcoming upstream BPF changes.
    Bug: 145210207
    Change-Id: I0e7e76c117ab3608b6dd5a1bc6b949b9e109038f
    Signed-off-by: Sami Tolvanen

    Sami Tolvanen
     

30 Jan, 2020

3 commits


29 Jan, 2020

21 commits

  • Pull networking updates from David Miller:

    1) Add WireGuard

    2) Add HE and TWT support to ath11k driver, from John Crispin.

    3) Add ESP in TCP encapsulation support, from Sabrina Dubroca.

    4) Add variable window congestion control to TIPC, from Jon Maloy.

    5) Add BCM84881 PHY driver, from Russell King.

    6) Start adding netlink support for ethtool operations, from Michal
    Kubecek.

    7) Add XDP drop and TX action support to ena driver, from Sameeh
    Jubran.

    8) Add new ipv4 route notifications so that mlxsw driver does not have
    to handle identical routes itself. From Ido Schimmel.

    9) Add BPF dynamic program extensions, from Alexei Starovoitov.

    10) Support RX and TX timestamping in igc, from Vinicius Costa Gomes.

    11) Add support for macsec HW offloading, from Antoine Tenart.

    12) Add initial support for MPTCP protocol, from Christoph Paasch,
    Matthieu Baerts, Florian Westphal, Peter Krystad, and many others.

    13) Add Octeontx2 PF support, from Sunil Goutham, Geetha sowjanya, Linu
    Cherian, and others.

    * git://git.kernel.org/pub/scm/linux/kernel/git/netdev/net-next: (1469 commits)
    net: phy: add default ARCH_BCM_IPROC for MDIO_BCM_IPROC
    udp: segment looped gso packets correctly
    netem: change mailing list
    qed: FW 8.42.2.0 debug features
    qed: rt init valid initialization changed
    qed: Debug feature: ilt and mdump
    qed: FW 8.42.2.0 Add fw overlay feature
    qed: FW 8.42.2.0 HSI changes
    qed: FW 8.42.2.0 iscsi/fcoe changes
    qed: Add abstraction for different hsi values per chip
    qed: FW 8.42.2.0 Additional ll2 type
    qed: Use dmae to write to widebus registers in fw_funcs
    qed: FW 8.42.2.0 Parser offsets modified
    qed: FW 8.42.2.0 Queue Manager changes
    qed: FW 8.42.2.0 Expose new registers and change windows
    qed: FW 8.42.2.0 Internal ram offsets modifications
    MAINTAINERS: Add entry for Marvell OcteonTX2 Physical Function driver
    Documentation: net: octeontx2: Add RVU HW and drivers overview
    octeontx2-pf: ethtool RSS config support
    octeontx2-pf: Add basic ethtool support
    ...

    Linus Torvalds
     
  • Pull crypto updates from Herbert Xu:
    "API:
    - Removed CRYPTO_TFM_RES flags
    - Extended spawn grabbing to all algorithm types
    - Moved hash descsize verification into API code

    Algorithms:
    - Fixed recursive pcrypt dead-lock
    - Added new 32 and 64-bit generic versions of poly1305
    - Added cryptogams implementation of x86/poly1305

    Drivers:
    - Added support for i.MX8M Mini in caam
    - Added support for i.MX8M Nano in caam
    - Added support for i.MX8M Plus in caam
    - Added support for A33 variant of SS in sun4i-ss
    - Added TEE support for Raven Ridge in ccp
    - Added in-kernel API to submit TEE commands in ccp
    - Added AMD-TEE driver
    - Added support for BCM2711 in iproc-rng200
    - Added support for AES256-GCM based ciphers for chtls
    - Added aead support on SEC2 in hisilicon"

    * 'linus' of git://git.kernel.org/pub/scm/linux/kernel/git/herbert/crypto-2.6: (244 commits)
    crypto: arm/chacha - fix build failured when kernel mode NEON is disabled
    crypto: caam - add support for i.MX8M Plus
    crypto: x86/poly1305 - emit does base conversion itself
    crypto: hisilicon - fix spelling mistake "disgest" -> "digest"
    crypto: chacha20poly1305 - add back missing test vectors and test chunking
    crypto: x86/poly1305 - fix .gitignore typo
    tee: fix memory allocation failure checks on drv_data and amdtee
    crypto: ccree - erase unneeded inline funcs
    crypto: ccree - make cc_pm_put_suspend() void
    crypto: ccree - split overloaded usage of irq field
    crypto: ccree - fix PM race condition
    crypto: ccree - fix FDE descriptor sequence
    crypto: ccree - cc_do_send_request() is void func
    crypto: ccree - fix pm wrongful error reporting
    crypto: ccree - turn errors to debug msgs
    crypto: ccree - fix AEAD decrypt auth fail
    crypto: ccree - fix typo in comment
    crypto: ccree - fix typos in error msgs
    crypto: atmel-{aes,sha,tdes} - Retire crypto_platform_data
    crypto: x86/sha - Eliminate casts on asm implementations
    ...

    Linus Torvalds
     
  • Bug: 136276047
    Test: Treehugger
    Change-Id: I8f9f016edbb6215df787d1975b35f7495a94d936
    Signed-off-by: Ram Muthiah

    Ram Muthiah
     
  • SND_8X0 and AC_97 should not be part of GKI.

    Test: Treehugger
    Bug: 139431025
    Change-Id: I26fafd66abf639415ec8666cefd61db58b38578d
    Signed-off-by: Ram Muthiah

    Ram Muthiah
     
  • Pull x86 mtrr updates from Ingo Molnar:
    "Two changes: restrict /proc/mtrr to CAP_SYS_ADMIN, plus a cleanup"

    * 'x86-mtrr-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip:
    x86/mtrr: Require CAP_SYS_ADMIN for all access
    x86/mtrr: Get rid of mtrr_seq_show() forward declaration

    Linus Torvalds
     
  • Pull x86 FPU updates from Ingo Molnar:
    "Three changes: fix a race that can result in FPU corruption, plus two
    cleanups"

    * 'x86-fpu-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip:
    x86/fpu: Deactivate FPU state after failure during state load
    x86/fpu/xstate: Make xfeature_is_supervisor()/xfeature_is_user() return bool
    x86/fpu/xstate: Fix small issues

    Linus Torvalds
     
  • Without this, the virtio_pmem driver does not seem to work.

    Bug: 146400078
    Change-Id: I2689aa4739b83a0a5a0e9930dc50b57e4f612525
    Signed-off-by: Alistair Delva

    Alistair Delva
     
  • Pull x86 cpu-features updates from Ingo Molnar:
    "The biggest change in this cycle was a large series from Sean
    Christopherson to clean up the handling of VMX features. This both
    fixes bugs/inconsistencies and makes the code more coherent and
    future-proof.

    There are also two cleanups and a minor TSX syslog messages
    enhancement"

    * 'x86-cpu-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip: (23 commits)
    x86/cpu: Remove redundant cpu_detect_cache_sizes() call
    x86/cpu: Print "VMX disabled" error message iff KVM is enabled
    KVM: VMX: Allow KVM_INTEL when building for Centaur and/or Zhaoxin CPUs
    perf/x86: Provide stubs of KVM helpers for non-Intel CPUs
    KVM: VMX: Use VMX_FEATURE_* flags to define VMCS control bits
    KVM: VMX: Check for full VMX support when verifying CPU compatibility
    KVM: VMX: Use VMX feature flag to query BIOS enabling
    KVM: VMX: Drop initialization of IA32_FEAT_CTL MSR
    x86/cpufeatures: Add flag to track whether MSR IA32_FEAT_CTL is configured
    x86/cpu: Set synthetic VMX cpufeatures during init_ia32_feat_ctl()
    x86/cpu: Print VMX flags in /proc/cpuinfo using VMX_FEATURES_*
    x86/cpu: Detect VMX features on Intel, Centaur and Zhaoxin CPUs
    x86/vmx: Introduce VMX_FEATURES_*
    x86/cpu: Clear VMX feature flag if VMX is not fully enabled
    x86/zhaoxin: Use common IA32_FEAT_CTL MSR initialization
    x86/centaur: Use common IA32_FEAT_CTL MSR initialization
    x86/mce: WARN once if IA32_FEAT_CTL MSR is left unlocked
    x86/intel: Initialize IA32_FEAT_CTL MSR at boot
    tools/x86: Sync msr-index.h from kernel sources
    selftests, kvm: Replace manual MSR defs with common msr-index.h
    ...

    Linus Torvalds
     
  • Pull misc x86 updates from Ingo Molnar:
    "Misc changes:

    - Enhance #GP fault printouts by distinguishing between canonical and
    non-canonical address faults, and also add KASAN fault decoding.

    - Fix/enhance the x86 NMI handler by putting the duration check into
    a direct function call instead of an irq_work which we know to be
    broken in some cases.

    - Clean up do_general_protection() a bit"

    * 'x86-core-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip:
    x86/nmi: Remove irq_work from the long duration NMI handler
    x86/traps: Cleanup do_general_protection()
    x86/kasan: Print original address on #GP
    x86/dumpstack: Introduce die_addr() for die() with #GP fault address
    x86/traps: Print address on #GP
    x86/insn-eval: Add support for 64-bit kernel mode

    Linus Torvalds
     
  • Pull x86 cleanups from Ingo Molnar:
    "Misc cleanups all around the map"

    * 'x86-cleanups-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip:
    x86/CPU/AMD: Remove amd_get_topology_early()
    x86/tsc: Remove redundant assignment
    x86/crash: Use resource_size()
    x86/cpu: Add a missing prototype for arch_smt_update()
    x86/nospec: Remove unused RSB_FILL_LOOPS
    x86/vdso: Provide missing include file
    x86/Kconfig: Correct spelling and punctuation
    Documentation/x86/boot: Fix typo
    x86/boot: Fix a comment's incorrect file reference
    x86/process: Remove set but not used variables prev and next
    x86/Kconfig: Fix Kconfig indentation

    Linus Torvalds
     
  • Pull x86 resource control updates from Ingo Molnar:
    "The main change in this tree is the extension of the resctrl procfs
    ABI with a new file that helps tooling to navigate from tasks back to
    resctrl groups: /proc/{pid}/cpu_resctrl_groups.

    Also fix static key usage for certain feature combinations and
    simplify the task exit resctrl case"

    * 'x86-cache-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip:
    x86/resctrl: Add task resctrl information display
    x86/resctrl: Check monitoring static key in the MBM overflow handler
    x86/resctrl: Do not reconfigure exiting tasks

    Linus Torvalds
     
  • Pull x86 boot update from Ingo Molnar:
    "Two minor changes: fix an atypical binutils combination build bug, and
    also fix a VRAM size check for simplefb"

    * 'x86-boot-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip:
    x86/sysfb: Fix check for bad VRAM size
    x86/boot: Discard .eh_frame sections

    Linus Torvalds
     
  • Pull x86 asm updates from Ingo Molnar:
    "Misc updates:

    - Remove last remaining calls to exception_enter/exception_exit() and
    simplify the entry code some more.

    - Remove force_iret()

    - Add support for "Fast Short Rep Mov", which is available starting
    with Ice Lake Intel CPUs - and make the x86 assembly version of
    memmove() use REP MOV for all sizes when FSRM is available.

    - Micro-optimize/simplify the 32-bit boot code a bit.

    - Use a more future-proof SYSRET instruction mnemonic"

    * 'x86-asm-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip:
    x86/boot: Simplify calculation of output address
    x86/entry/64: Add instruction suffix to SYSRET
    x86: Remove force_iret()
    x86/cpufeatures: Add support for fast short REP; MOVSB
    x86/context-tracking: Remove exception_enter/exit() from KVM_PV_REASON_PAGE_NOT_PRESENT async page fault
    x86/context-tracking: Remove exception_enter/exit() from do_page_fault()

    Linus Torvalds
     
  • Pull x86 apic fix from Ingo Molnar:
    "A single commit that simplifies the code and gets rid of a compiler
    warning"

    * 'x86-apic-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip:
    x86/apic/uv: Avoid unused variable warning

    Linus Torvalds
     
  • Pull scheduler updates from Ingo Molnar:
    "These were the main changes in this cycle:

    - More -rt motivated separation of CONFIG_PREEMPT and
    CONFIG_PREEMPTION.

    - Add more low level scheduling topology sanity checks and warnings
    to filter out nonsensical topologies that break scheduling.

    - Extend uclamp constraints to influence wakeup CPU placement

    - Make the RT scheduler more aware of asymmetric topologies and CPU
    capacities, via uclamp metrics, if CONFIG_UCLAMP_TASK=y

    - Make idle CPU selection more consistent

    - Various fixes, smaller cleanups, updates and enhancements - please
    see the git log for details"

    * 'sched-core-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip: (58 commits)
    sched/fair: Define sched_idle_cpu() only for SMP configurations
    sched/topology: Assert non-NUMA topology masks don't (partially) overlap
    idle: fix spelling mistake "iterrupts" -> "interrupts"
    sched/fair: Remove redundant call to cpufreq_update_util()
    sched/psi: create /proc/pressure and /proc/pressure/{io|memory|cpu} only when psi enabled
    sched/fair: Fix sgc->{min,max}_capacity calculation for SD_OVERLAP
    sched/fair: calculate delta runnable load only when it's needed
    sched/cputime: move rq parameter in irqtime_account_process_tick
    stop_machine: Make stop_cpus() static
    sched/debug: Reset watchdog on all CPUs while processing sysrq-t
    sched/core: Fix size of rq::uclamp initialization
    sched/uclamp: Fix a bug in propagating uclamp value in new cgroups
    sched/fair: Load balance aggressively for SCHED_IDLE CPUs
    sched/fair : Improve update_sd_pick_busiest for spare capacity case
    watchdog: Remove soft_lockup_hrtimer_cnt and related code
    sched/rt: Make RT capacity-aware
    sched/fair: Make EAS wakeup placement consider uclamp restrictions
    sched/fair: Make task_fits_capacity() consider uclamp restrictions
    sched/uclamp: Rename uclamp_util_with() into uclamp_rq_util_with()
    sched/uclamp: Make uclamp util helpers use and return UL values
    ...

    Linus Torvalds
     
  • Pull perf updates from Ingo Molnar:
    "Kernel side changes:

    - Ftrace is one of the last W^X violators (after this only KLP is
    left). These patches move it over to the generic text_poke()
    interface and thereby get rid of this oddity. This requires a
    surprising amount of surgery, by Peter Zijlstra.

    - x86/AMD PMUs: add support for 'Large Increment per Cycle Events' to
    count certain types of events that have a special, quirky hw ABI
    (by Kim Phillips)

    - kprobes fixes by Masami Hiramatsu

    Lots of tooling updates as well, the following subcommands were
    updated: annotate/report/top, c2c, clang, record, report/top TUI,
    sched timehist, tests; plus updates were done to the gtk ui, libperf,
    headers and the parser"

    * 'perf-core-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip: (57 commits)
    perf/x86/amd: Add support for Large Increment per Cycle Events
    perf/x86/amd: Constrain Large Increment per Cycle events
    perf/x86/intel/rapl: Add Comet Lake support
    tracing: Initialize ret in syscall_enter_define_fields()
    perf header: Use last modification time for timestamp
    perf c2c: Fix return type for histogram sorting comparision functions
    perf beauty sockaddr: Fix augmented syscall format warning
    perf/ui/gtk: Fix gtk2 build
    perf ui gtk: Add missing zalloc object
    perf tools: Use %define api.pure full instead of %pure-parser
    libperf: Setup initial evlist::all_cpus value
    perf report: Fix no libunwind compiled warning break s390 issue
    perf tools: Support --prefix/--prefix-strip
    perf report: Clarify in help that --children is default
    tools build: Fix test-clang.cpp with Clang 8+
    perf clang: Fix build with Clang 9
    kprobes: Fix optimize_kprobe()/unoptimize_kprobe() cancellation logic
    tools lib: Fix builds when glibc contains strlcpy()
    perf report/top: Make 'e' visible in the help and make it toggle showing callchains
    perf report/top: Do not offer annotation for symbols without samples
    ...

    Linus Torvalds
     
  • Pull locking updates from Ingo Molnar:
    "Just a handful of changes in this cycle: an ARM64 performance
    optimization, a comment fix and a debug output fix"

    * 'locking-core-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip:
    locking/osq: Use optimized spinning loop for arm64
    locking/qspinlock: Fix inaccessible URL of MCS lock paper
    locking/lockdep: Fix lockdep_stats indentation problem

    Linus Torvalds
     
  • Pull EFI updates from Ingo Molnar:
    "The main changes in this cycle were:

    - Cleanup of the GOP [graphics output] handling code in the EFI stub

    - Complete refactoring of the mixed mode handling in the x86 EFI stub

    - Overhaul of the x86 EFI boot/runtime code

    - Increase robustness for mixed mode code

    - Add the ability to disable DMA at the root port level in the EFI
    stub

    - Get rid of RWX mappings in the EFI memory map and page tables,
    where possible

    - Move the support code for the old EFI memory mapping style into its
    only user, the SGI UV1+ support code.

    - plus misc fixes, updates, smaller cleanups.

    ... and due to interactions with the RWX changes, another round of PAT
    cleanups make a guest appearance via the EFI tree - with no side
    effects intended"

    * 'efi-core-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip: (75 commits)
    efi/x86: Disable instrumentation in the EFI runtime handling code
    efi/libstub/x86: Fix EFI server boot failure
    efi/x86: Disallow efi=old_map in mixed mode
    x86/boot/compressed: Relax sed symbol type regex for LLVM ld.lld
    efi/x86: avoid KASAN false positives when accessing the 1: 1 mapping
    efi: Fix handling of multiple efi_fake_mem= entries
    efi: Fix efi_memmap_alloc() leaks
    efi: Add tracking for dynamically allocated memmaps
    efi: Add a flags parameter to efi_memory_map
    efi: Fix comment for efi_mem_type() wrt absent physical addresses
    efi/arm: Defer probe of PCIe backed efifb on DT systems
    efi/x86: Limit EFI old memory map to SGI UV machines
    efi/x86: Avoid RWX mappings for all of DRAM
    efi/x86: Don't map the entire kernel text RW for mixed mode
    x86/mm: Fix NX bit clearing issue in kernel_map_pages_in_pgd
    efi/libstub/x86: Fix unused-variable warning
    efi/libstub/x86: Use mandatory 16-byte stack alignment in mixed mode
    efi/libstub/x86: Use const attribute for efi_is_64bit()
    efi: Allow disabling PCI busmastering on bridges during boot
    efi/x86: Allow translating 64-bit arguments for mixed mode calls
    ...

    Linus Torvalds
     
  • Pull RCU updates from Ingo Molnar:
    "The RCU changes in this cycle were:
    - Expedited grace-period updates
    - kfree_rcu() updates
    - RCU list updates
    - Preemptible RCU updates
    - Torture-test updates
    - Miscellaneous fixes
    - Documentation updates"

    * 'core-rcu-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip: (69 commits)
    rcu: Remove unused stop-machine #include
    powerpc: Remove comment about read_barrier_depends()
    .mailmap: Add entries for old paulmck@kernel.org addresses
    srcu: Apply *_ONCE() to ->srcu_last_gp_end
    rcu: Switch force_qs_rnp() to for_each_leaf_node_cpu_mask()
    rcu: Move rcu_{expedited,normal} definitions into rcupdate.h
    rcu: Move gp_state_names[] and gp_state_getname() to tree_stall.h
    rcu: Remove the declaration of call_rcu() in tree.h
    rcu: Fix tracepoint tracking RCU CPU kthread utilization
    rcu: Fix harmless omission of "CONFIG_" from #if condition
    rcu: Avoid tick_dep_set_cpu() misordering
    rcu: Provide wrappers for uses of ->rcu_read_lock_nesting
    rcu: Use READ_ONCE() for ->expmask in rcu_read_unlock_special()
    rcu: Clear ->rcu_read_unlock_special only once
    rcu: Clear .exp_hint only when deferred quiescent state has been reported
    rcu: Rename some instance of CONFIG_PREEMPTION to CONFIG_PREEMPT_RCU
    rcu: Remove kfree_call_rcu_nobatch()
    rcu: Remove kfree_rcu() special casing and lazy-callback handling
    rcu: Add support for debug_objects debugging for kfree_rcu()
    rcu: Add multiple in-flight batches of kfree_rcu() work
    ...

    Linus Torvalds
     
  • Pull objtool updates from Ingo Molnar:
    "The main changes are to move the ORC unwind table sorting from early
    init to build-time - this speeds up booting.

    No change in functionality intended"

    * 'core-objtool-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip:
    x86/unwind/orc: Fix !CONFIG_MODULES build warning
    x86/unwind/orc: Remove boot-time ORC unwind tables sorting
    scripts/sorttable: Implement build-time ORC unwind table sorting
    scripts/sorttable: Rename 'sortextable' to 'sorttable'
    scripts/sortextable: Refactor the do_func() function
    scripts/sortextable: Remove dead code
    scripts/sortextable: Clean up the code to meet the kernel coding style better
    scripts/sortextable: Rewrite error/success handling

    Linus Torvalds
     
  • Pull header cleanup from Ingo Molnar:
    "This is a treewide cleanup, mostly (but not exclusively) with x86
    impact, which breaks implicit dependencies on the asm/realtime.h
    header and finally removes it from asm/acpi.h"

    * 'core-headers-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip:
    x86/ACPI/sleep: Move acpi_get_wakeup_address() into sleep.c, remove from
    ACPI/sleep: Convert acpi_wakeup_address into a function
    x86/ACPI/sleep: Remove an unnecessary include of asm/realmode.h
    ASoC: Intel: Skylake: Explicitly include linux/io.h for virt_to_phys()
    vmw_balloon: Explicitly include linux/io.h for virt_to_phys()
    virt: vbox: Explicitly include linux/io.h to pick up various defs
    efi/capsule-loader: Explicitly include linux/io.h for page_to_phys()
    perf/x86/intel: Explicitly include asm/io.h to use virt_to_phys()
    x86/kprobes: Explicitly include vmalloc.h for set_vm_flush_reset_perms()
    x86/ftrace: Explicitly include vmalloc.h for set_vm_flush_reset_perms()
    x86/boot: Explicitly include realmode.h to handle RM reservations
    x86/efi: Explicitly include realmode.h to handle RM trampoline quirk
    x86/platform/intel/quark: Explicitly include linux/io.h for virt_to_phys()
    x86/setup: Enhance the comments
    x86/setup: Clean up the header portion of setup.c

    Linus Torvalds
     

28 Jan, 2020

7 commits

  • Pull x86 pti updates from Thomas Gleixner:
    "The performance deterioration departement provides a few non-scary
    fixes and improvements:

    - Update the cached HLE state when the TSX state is changed via the
    new control register. This ensures feature bit consistency.

    - Exclude the new Zhaoxin CPUs from Spectre V2 and SWAPGS
    vulnerabilities"

    * tag 'x86-pti-2020-01-28' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip:
    x86/speculation/swapgs: Exclude Zhaoxin CPUs from SWAPGS vulnerability
    x86/speculation/spectre_v2: Exclude Zhaoxin CPUs from SPECTRE_V2
    x86/cpu: Update cached HLE state on write to TSX_CTRL_CPUID_CLEAR

    Linus Torvalds
     
  • Pull irq updates from Thomas Gleixner:
    "The interrupt departement provides:

    - A mechanism to shield isolated tasks from managed interrupts:

    The affinity of managed interrupts is completely controlled by the
    kernel and user space has no influence on them. The reason is that
    the automatically assigned affinity correlates to the multi-queue
    CPU handling of block devices.

    If the generated affinity mask spaws both housekeeping and isolated
    CPUs the interrupt could be routed to an isolated CPU which would
    then be disturbed by I/O submitted by a housekeeping CPU.

    The new mechamism ensures that as long as one housekeeping CPU is
    online in the assigned affinity mask the interrupt is routed to a
    housekeeping CPU.

    If there is no online housekeeping CPU in the affinity mask, then
    the interrupt is routed to an isolated CPU to keep the device queue
    intact, but unless the isolated CPU submits I/O by itself these
    interrupts are not raised.

    - A small addon to the device tree irqdomain core code to avoid
    duplication in irq chip drivers

    - Conversion of the SiFive PLIC to hierarchical domains

    - The usual pile of new irq chip drivers: SiFive GPIO, Aspeed SCI,
    NXP INTMUX, Meson A1 GPIO

    - The first cut of support for the new ARM GICv4.1

    - The usual pile of fixes and improvements in core and driver code"

    * tag 'irq-core-2020-01-28' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip: (33 commits)
    genirq, sched/isolation: Isolate from handling managed interrupts
    irqchip/gic-v4.1: Allow direct invalidation of VLPIs
    irqchip/gic-v4.1: Suppress per-VLPI doorbell
    irqchip/gic-v4.1: Add VPE INVALL callback
    irqchip/gic-v4.1: Add VPE eviction callback
    irqchip/gic-v4.1: Add VPE residency callback
    irqchip/gic-v4.1: Add mask/unmask doorbell callbacks
    irqchip/gic-v4.1: Plumb skeletal VPE irqchip
    irqchip/gic-v4.1: Implement the v4.1 flavour of VMOVP
    irqchip/gic-v4.1: Don't use the VPE proxy if RVPEID is set
    irqchip/gic-v4.1: Implement the v4.1 flavour of VMAPP
    irqchip/gic-v4.1: VPE table (aka GICR_VPROPBASER) allocation
    irqchip/gic-v3: Add GICv4.1 VPEID size discovery
    irqchip/gic-v3: Detect GICv4.1 supporting RVPEID
    irqchip/gic-v3-its: Fix get_vlpi_map() breakage with doorbells
    irqdomain: Fix a memory leak in irq_domain_push_irq()
    irqchip: Add NXP INTMUX interrupt multiplexer support
    dt-bindings: interrupt-controller: Add binding for NXP INTMUX interrupt multiplexer
    irqchip: Define EXYNOS_IRQ_COMBINER
    irqchip/meson-gpio: Add support for meson a1 SoCs
    ...

    Linus Torvalds
     
  • Pull core SMP updates from Thomas Gleixner:
    "A small set of SMP core code changes:

    - Rework the smp function call core code to avoid the allocation of
    an additional cpumask

    - Remove the not longer required GFP argument from on_each_cpu_cond()
    and on_each_cpu_cond_mask() and fixup the callers"

    * tag 'smp-core-2020-01-28' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip:
    smp: Remove allocation mask from on_each_cpu_cond.*()
    smp: Add a smp_cond_func_t argument to smp_call_function_many()
    smp: Use smp_cond_func_t as type for the conditional function

    Linus Torvalds
     
  • Pull timer updates from Thomas Gleixner:
    "The timekeeping and timers departement provides:

    - Time namespace support:

    If a container migrates from one host to another then it expects
    that clocks based on MONOTONIC and BOOTTIME are not subject to
    disruption. Due to different boot time and non-suspended runtime
    these clocks can differ significantly on two hosts, in the worst
    case time goes backwards which is a violation of the POSIX
    requirements.

    The time namespace addresses this problem. It allows to set offsets
    for clock MONOTONIC and BOOTTIME once after creation and before
    tasks are associated with the namespace. These offsets are taken
    into account by timers and timekeeping including the VDSO.

    Offsets for wall clock based clocks (REALTIME/TAI) are not provided
    by this mechanism. While in theory possible, the overhead and code
    complexity would be immense and not justified by the esoteric
    potential use cases which were discussed at Plumbers '18.

    The overhead for tasks in the root namespace (ie where host time
    offsets = 0) is in the noise and great effort was made to ensure
    that especially in the VDSO. If time namespace is disabled in the
    kernel configuration the code is compiled out.

    Kudos to Andrei Vagin and Dmitry Sofanov who implemented this
    feature and kept on for more than a year addressing review
    comments, finding better solutions. A pleasant experience.

    - Overhaul of the alarmtimer device dependency handling to ensure
    that the init/suspend/resume ordering is correct.

    - A new clocksource/event driver for Microchip PIT64

    - Suspend/resume support for the Hyper-V clocksource

    - The usual pile of fixes, updates and improvements mostly in the
    driver code"

    * tag 'timers-core-2020-01-27' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip: (71 commits)
    alarmtimer: Make alarmtimer_get_rtcdev() a stub when CONFIG_RTC_CLASS=n
    alarmtimer: Use wakeup source from alarmtimer platform device
    alarmtimer: Make alarmtimer platform device child of RTC device
    alarmtimer: Update alarmtimer_get_rtcdev() docs to reflect reality
    hrtimer: Add missing sparse annotation for __run_timer()
    lib/vdso: Only read hrtimer_res when needed in __cvdso_clock_getres()
    MIPS: vdso: Define BUILD_VDSO32 when building a 32bit kernel
    clocksource/drivers/hyper-v: Set TSC clocksource as default w/ InvariantTSC
    clocksource/drivers/hyper-v: Untangle stimers and timesync from clocksources
    clocksource/drivers/timer-microchip-pit64b: Fix sparse warning
    clocksource/drivers/exynos_mct: Rename Exynos to lowercase
    clocksource/drivers/timer-ti-dm: Fix uninitialized pointer access
    clocksource/drivers/timer-ti-dm: Switch to platform_get_irq
    clocksource/drivers/timer-ti-dm: Convert to devm_platform_ioremap_resource
    clocksource/drivers/em_sti: Fix variable declaration in em_sti_probe
    clocksource/drivers/em_sti: Convert to devm_platform_ioremap_resource
    clocksource/drivers/bcm2835_timer: Fix memory leak of timer
    clocksource/drivers/cadence-ttc: Use ttc driver as platform driver
    clocksource/drivers/timer-microchip-pit64b: Add Microchip PIT64B support
    clocksource/drivers/hyper-v: Reserve PAGE_SIZE space for tsc page
    ...

    Linus Torvalds
     
  • Pull timer fixes from Thomas Gleixner:
    "Two fixes for the generic VDSO code which missed 5.5:

    - Make the update to the coarse timekeeper unconditional.

    This is required because the coarse timekeeper interfaces in the
    VDSO do not depend on a VDSO capable clocksource. If the system
    does not have a VDSO capable clocksource and the update is
    depending on the VDSO capable clocksource, the coarse VDSO
    interfaces would operate on stale data forever.

    - Invert the logic of __arch_update_vdso_data() to avoid further head
    scratching.

    Tripped over this several times while analyzing the update problem
    above"

    * tag 'timers-urgent-2020-01-27' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip:
    lib/vdso: Update coarse timekeeper unconditionally
    lib/vdso: Make __arch_update_vdso_data() logic understandable

    Linus Torvalds
     
  • Pull ioremap updates from Christoph Hellwig:
    "Remove the ioremap_nocache API (plus wrappers) that are always
    identical to ioremap"

    * tag 'ioremap-5.6' of git://git.infradead.org/users/hch/ioremap:
    remove ioremap_nocache and devm_ioremap_nocache
    MIPS: define ioremap_nocache to ioremap

    Linus Torvalds
     
  • Pull power management updates from Rafael Wysocki:
    "These add ACPI support to the intel_idle driver along with an admin
    guide document for it, add support for CPR (Core Power Reduction) to
    the AVS (Adaptive Voltage Scaling) subsystem, add new hardware support
    in a few places, add some new sysfs attributes, debugfs files and
    tracepoints, fix bugs and clean up a bunch of things all over.

    Specifics:

    - Update the ACPI processor driver in order to export
    acpi_processor_evaluate_cst() to the code outside of it, add ACPI
    support to the intel_idle driver based on that and clean up that
    driver somewhat (Rafael Wysocki).

    - Add an admin guide document for the intel_idle driver (Rafael
    Wysocki).

    - Clean up cpuidle core and drivers, enable compilation testing for
    some of them (Benjamin Gaignard, Krzysztof Kozlowski, Rafael
    Wysocki, Yangtao Li).

    - Fix reference counting of OPP (operating performance points) table
    structures (Viresh Kumar).

    - Add support for CPR (Core Power Reduction) to the AVS (Adaptive
    Voltage Scaling) subsystem (Niklas Cassel, Colin Ian King,
    YueHaibing).

    - Add support for TigerLake Mobile and JasperLake to the Intel RAPL
    power capping driver (Zhang Rui).

    - Update cpufreq drivers:
    - Add i.MX8MP support to imx-cpufreq-dt (Anson Huang).
    - Fix usage of a macro in loongson2_cpufreq (Alexandre Oliva).
    - Fix cpufreq policy reference counting issues in s3c and
    brcmstb-avs (chenqiwu).
    - Fix ACPI table reference counting issue and HiSilicon quirk
    handling in the CPPC driver (Hanjun Guo).
    - Clean up spelling mistake in intel_pstate (Harry Pan).
    - Convert the kirkwood and tegra186 drivers to using
    devm_platform_ioremap_resource() (Yangtao Li).

    - Update devfreq core:
    - Add 'name' sysfs attribute for devfreq devices (Chanwoo Choi).
    - Clean up the handing of transition statistics and allow them to
    be reset by writing 0 to the 'trans_stat' devfreq device
    attribute in sysfs (Kamil Konieczny).
    - Add 'devfreq_summary' to debugfs (Chanwoo Choi).
    - Clean up kerneldoc comments and Kconfig indentation (Krzysztof
    Kozlowski, Randy Dunlap).

    - Update devfreq drivers:
    - Add dynamic scaling for the imx8m DDR controller and clean up
    imx8m-ddrc (Leonard Crestez, YueHaibing).
    - Fix DT node reference counting and nitialization error code path
    in rk3399_dmc and add COMPILE_TEST and HAVE_ARM_SMCCC dependency
    for it (Chanwoo Choi, Yangtao Li).
    - Fix DT node reference counting in rockchip-dfi and make it use
    devm_platform_ioremap_resource() (Yangtao Li).
    - Fix excessive stack usage in exynos-ppmu (Arnd Bergmann).
    - Fix initialization error code paths in exynos-bus (Yangtao Li).
    - Clean up exynos-bus and exynos somewhat (Artur Świgoń, Krzysztof
    Kozlowski).

    - Add tracepoints for tracking usage_count updates unrelated to
    status changes in PM-runtime (Michał Mirosław).

    - Add sysfs attribute to control the "sync on suspend" behavior
    during system-wide suspend (Jonas Meurer).

    - Switch system-wide suspend tests over to 64-bit time (Alexandre
    Belloni).

    - Make wakeup sources statistics in debugfs cover deleted ones which
    used to be the case some time ago (zhuguangqing).

    - Clean up computations carried out during hibernation, update
    messages related to hibernation and fix a spelling mistake in one
    of them (Wen Yang, Luigi Semenzato, Colin Ian King).

    - Add mailmap entry for maintainer e-mail address that has not been
    functional for several years (Rafael Wysocki)"

    * tag 'pm-5.6-rc1' of git://git.kernel.org/pub/scm/linux/kernel/git/rafael/linux-pm: (83 commits)
    cpufreq: loongson2_cpufreq: adjust cpufreq uses of LOONGSON_CHIPCFG
    intel_idle: Clean up irtl_2_usec()
    intel_idle: Move 3 functions closer to their callers
    intel_idle: Annotate initialization code and data structures
    intel_idle: Move and clean up intel_idle_cpuidle_devices_uninit()
    intel_idle: Rearrange intel_idle_cpuidle_driver_init()
    intel_idle: Clean up NULL pointer check in intel_idle_init()
    intel_idle: Fold intel_idle_probe() into intel_idle_init()
    intel_idle: Eliminate __setup_broadcast_timer()
    cpuidle: fix cpuidle_find_deepest_state() kerneldoc warnings
    cpuidle: sysfs: fix warnings when compiling with W=1
    cpuidle: coupled: fix warnings when compiling with W=1
    cpufreq: brcmstb-avs: fix imbalance of cpufreq policy refcount
    PM: suspend: Add sysfs attribute to control the "sync on suspend" behavior
    PM / devfreq: Add debugfs support with devfreq_summary file
    Documentation: admin-guide: PM: Add intel_idle document
    cpuidle: arm: Enable compile testing for some of drivers
    PM-runtime: add tracepoints for usage_count changes
    cpufreq: intel_pstate: fix spelling mistake: "Whethet" -> "Whether"
    PM: hibernate: fix spelling mistake "shapshot" -> "snapshot"
    ...

    Linus Torvalds