27 Nov, 2017

2 commits

  • Pull misc x86 fixes from Ingo Molnar:
    - topology enumeration fixes
    - KASAN fix
    - two entry fixes (not yet the big series related to KASLR)
    - remove obsolete code
    - instruction decoder fix
    - better /dev/mem sanity checks, hopefully working better this time
    - pkeys fixes
    - two ACPI fixes
    - 5-level paging related fixes
    - UMIP fixes that should make application visible faults more debuggable
    - boot fix for weird virtualization environment

    * 'x86-urgent-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip: (24 commits)
    x86/decoder: Add new TEST instruction pattern
    x86/PCI: Remove unused HyperTransport interrupt support
    x86/umip: Fix insn_get_code_seg_params()'s return value
    x86/boot/KASLR: Remove unused variable
    x86/entry/64: Add missing irqflags tracing to native_load_gs_index()
    x86/mm/kasan: Don't use vmemmap_populate() to initialize shadow
    x86/entry/64: Fix entry_SYSCALL_64_after_hwframe() IRQ tracing
    x86/pkeys/selftests: Fix protection keys write() warning
    x86/pkeys/selftests: Rename 'si_pkey' to 'siginfo_pkey'
    x86/mpx/selftests: Fix up weird arrays
    x86/pkeys: Update documentation about availability
    x86/umip: Print a warning into the syslog if UMIP-protected instructions are used
    x86/smpboot: Fix __max_logical_packages estimate
    x86/topology: Avoid wasting 128k for package id array
    perf/x86/intel/uncore: Cache logical pkg id in uncore driver
    x86/acpi: Reduce code duplication in mp_override_legacy_irq()
    x86/acpi: Handle SCI interrupts above legacy space gracefully
    x86/boot: Fix boot failure when SMP MP-table is based at 0
    x86/mm: Limit mmap() of /dev/mem to valid physical addresses
    x86/selftests: Add test for mapping placement for 5-level paging
    ...

    Linus Torvalds
     
  • Pull objtool fixes from Ingo Molnar:
    "A handful of objtool fixes, most of them related to making the UAPI
    header-syncing warnings easier to read and easier to act upon"

    * 'core-urgent-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip:
    tools/headers: Sync objtool UAPI header
    objtool: Fix cross-build
    objtool: Move kernel headers/code sync check to a script
    objtool: Move synced files to their original relative locations
    objtool: Make unreachable annotation inline asms explicitly volatile
    objtool: Add a comment for the unreachable annotation macros

    Linus Torvalds
     

26 Nov, 2017

1 commit

  • Pull more Kbuild updates from Masahiro Yamada:

    - use 'pwd' instead of '/bin/pwd' for portability

    - clean up Makefiles

    - fix ld-option for clang

    - fix malloc'ed data size in Kconfig

    - fix parallel building along with coccicheck

    - fix a minor issue of package building

    - prompt to use "rpm-pkg" instead of "rpm"

    - clean up *.i and *.lst patterns by "make clean"

    * tag 'kbuild-v4.15-2' of git://git.kernel.org/pub/scm/linux/kernel/git/masahiroy/linux-kbuild:
    kbuild: drop $(extra-y) from real-objs-y
    kbuild: clean up *.i and *.lst patterns by make clean
    kbuild: rpm: prompt to use "rpm-pkg" if "rpm" target is used
    kbuild: pkg: use --transform option to prefix paths in tar
    coccinelle: fix parallel build with CHECK=scripts/coccicheck
    kconfig/symbol.c: use correct pointer type argument for sizeof
    kbuild: Set KBUILD_CFLAGS before incl. arch Makefile
    kbuild: remove all dummy assignments to obj-
    kbuild: create built-in.o automatically if parent directory wants it
    kbuild: /bin/pwd -> pwd

    Linus Torvalds
     

24 Nov, 2017

1 commit

  • Daniel Borkmann says:

    ====================
    pull-request: bpf 2017-11-23

    The following pull-request contains BPF updates for your *net* tree.

    The main changes are:

    1) Several BPF offloading fixes, from Jakub. Among others:

    - Limit offload to cls_bpf and XDP program types only.
    - Move device validation into the driver and don't make
    any assumptions about the device in the classifier due
    to shared blocks semantics.
    - Don't pass offloaded XDP program into the driver when
    it should be run in native XDP instead. Offloaded ones
    are not JITed for the host in such cases.
    - Don't destroy device offload state when moved to
    another namespace.
    - Revert dumping offload info into user space for now,
    since ifindex alone is not sufficient. This will be
    redone properly for bpf-next tree.

    2) Fix test_verifier to avoid using bpf_probe_write_user()
    helper in test cases, since it's dumping a warning into
    kernel log which may confuse users when only running tests.
    Switch to use bpf_trace_printk() instead, from Yonghong.

    3) Several fixes for correcting ARG_CONST_SIZE_OR_ZERO semantics
    before it becomes uabi, from Gianluca. More specifically:

    - Add a type ARG_PTR_TO_MEM_OR_NULL that is used only
    by bpf_csum_diff(), where the argument is either a
    valid pointer or NULL. The subsequent ARG_CONST_SIZE_OR_ZERO
    then enforces a valid pointer in case of non-0 size
    or a valid pointer or NULL in case of size 0. Given
    that, the semantics for ARG_PTR_TO_MEM in combination
    with ARG_CONST_SIZE_OR_ZERO are now such that in case
    of size 0, the pointer must always be valid and cannot
    be NULL. This fix in semantics allows for bpf_probe_read()
    to drop the recently added size == 0 check in the helper
    that would become part of uabi otherwise once released.
    At the same time we can then fix bpf_probe_read_str() and
    bpf_perf_event_output() to use ARG_CONST_SIZE_OR_ZERO
    instead of ARG_CONST_SIZE in order to fix recently
    reported issues by Arnaldo et al, where LLVM optimizes
    two boundary checks into a single one for unknown
    variables where the verifier looses track of the variable
    bounds and thus rejects valid programs otherwise.

    4) A fix for the verifier for the case when it detects
    comparison of two constants where the branch is guaranteed
    to not be taken at runtime. Verifier will rightfully prune
    the exploration of such paths, but we still pass the program
    to JITs, where they would complain about using reserved
    fields, etc. Track such dead instructions and sanitize
    them with mov r0,r0. Rejection is not possible since LLVM
    may generate them for valid C code and doesn't do as much
    data flow analysis as verifier. For bpf-next we might
    implement removal of such dead code and adjust branches
    instead. Fix from Alexei.
    ====================

    Signed-off-by: David S. Miller

    David S. Miller
     

23 Nov, 2017

1 commit

  • With the current ARG_PTR_TO_MEM/ARG_PTR_TO_UNINIT_MEM semantics, an helper
    argument can be NULL when the next argument type is ARG_CONST_SIZE_OR_ZERO
    and the verifier can prove the value of this next argument is 0. However,
    most helpers are just interested in handling <!NULL, 0>, so forcing them to
    deal with makes the implementation of those helpers more
    complicated for no apparent benefits, requiring them to explicitly handle
    those corner cases with checks that bpf programs could start relying upon,
    preventing the possibility of removing them later.

    Solve this by making ARG_PTR_TO_MEM/ARG_PTR_TO_UNINIT_MEM never accept NULL
    even when ARG_CONST_SIZE_OR_ZERO is set, and introduce a new argument type
    ARG_PTR_TO_MEM_OR_NULL to explicitly deal with the NULL case.

    Currently, the only helper that needs this is bpf_csum_diff_proto(), so
    change arg1 and arg3 to this new type as well.

    Also add a new battery of tests that explicitly test the
    !ARG_PTR_TO_MEM_OR_NULL combination: all the current ones testing the
    various variations are focused on bpf_csum_diff, so cover also
    other helpers.

    Signed-off-by: Gianluca Borello
    Acked-by: Alexei Starovoitov
    Acked-by: Daniel Borkmann
    Signed-off-by: Daniel Borkmann

    Gianluca Borello
     

22 Nov, 2017

1 commit

  • There are four tests in test_verifier using bpf_probe_write_user
    helper. These four tests will emit the following kernel messages
    [ 12.974753] test_verifier[220] is installing a program with bpf_probe_write_user
    helper that may corrupt user memory!
    [ 12.979285] test_verifier[220] is installing a program with bpf_probe_write_user
    helper that may corrupt user memory!
    ......

    This may confuse certain users. This patch replaces bpf_probe_write_user
    with bpf_trace_printk. The test_verifier already uses bpf_trace_printk
    earlier in the test and a trace_printk warning message has been printed.
    So this patch does not emit any more kernel messages.

    Fixes: b6ff63911232 ("bpf: fix and add test cases for ARG_CONST_SIZE_OR_ZERO semantics change")
    Signed-off-by: Yonghong Song
    Signed-off-by: Daniel Borkmann

    Yonghong Song
     

21 Nov, 2017

5 commits

  • write() is marked as having a must-check return value. Check it and
    abort if we fail to write an error message from a signal handler.

    Signed-off-by: Dave Hansen
    Acked-by: Thomas Gleixner
    Cc: Andy Lutomirski
    Cc: Borislav Petkov
    Cc: Brian Gerst
    Cc: Denys Vlasenko
    Cc: H. Peter Anvin
    Cc: Josh Poimboeuf
    Cc: Linus Torvalds
    Cc: Peter Zijlstra
    Link: http://lkml.kernel.org/r/20171111001232.94813E58@viggo.jf.intel.com
    Signed-off-by: Ingo Molnar

    Dave Hansen
     
  • 'si_pkey' is now #defined to be the name of the new siginfo field that
    protection keys uses. Rename it not to conflict.

    Signed-off-by: Dave Hansen
    Acked-by: Thomas Gleixner
    Cc: Andy Lutomirski
    Cc: Borislav Petkov
    Cc: Brian Gerst
    Cc: Denys Vlasenko
    Cc: H. Peter Anvin
    Cc: Josh Poimboeuf
    Cc: Linus Torvalds
    Cc: Peter Zijlstra
    Link: http://lkml.kernel.org/r/20171111001231.DFFC8285@viggo.jf.intel.com
    Signed-off-by: Ingo Molnar

    Dave Hansen
     
  • The MPX hardware data structurse are defined in a weird way: they define
    their size in bytes and then union that with the type with which we want
    to access them.

    Yes, this is weird, but it does work. But, new GCC's complain that we
    are accessing the array out of bounds. Just make it a zero-sized array
    so gcc will stop complaining. There was not really a bug here.

    Signed-off-by: Dave Hansen
    Acked-by: Thomas Gleixner
    Cc: Andy Lutomirski
    Cc: Borislav Petkov
    Cc: Brian Gerst
    Cc: Denys Vlasenko
    Cc: H. Peter Anvin
    Cc: Josh Poimboeuf
    Cc: Linus Torvalds
    Cc: Peter Zijlstra
    Link: http://lkml.kernel.org/r/20171111001229.58A7933D@viggo.jf.intel.com
    Signed-off-by: Ingo Molnar

    Dave Hansen
     
  • This reverts commit 928631e05495 ("bpftool: print program device bound
    info"). We will remove this API and redo it right in -next.

    Signed-off-by: Jakub Kicinski
    Signed-off-by: Daniel Borkmann

    Jakub Kicinski
     
  • bpf_target_prog seems long and clunky, rename it to prog_ifindex.
    We don't want to call this field just ifindex, because maps
    may need a similar field in the future and bpf_attr members for
    programs and maps are unnamed.

    Signed-off-by: Jakub Kicinski
    Reviewed-by: Quentin Monnet
    Acked-by: Alexei Starovoitov
    Acked-by: Daniel Borkmann
    Signed-off-by: Daniel Borkmann

    Jakub Kicinski
     

19 Nov, 2017

1 commit

  • Pull x86 platform driver updates from Andy Shevchenko:
    "Here is the collected material against Platform Drivers x86 subsystem.
    It's rather bit busy cycle for PDx86, mostly due to Dell SMBIOS driver
    activity

    For this cycle we have quite an update for the Dell SMBIOS driver
    including WMI work to provide an interface for SMBIOS tokens via sysfs
    and WMI support for 2017+ Dell laptop models. SMM dispatcher code is
    split into a separate driver followed by a new WMI dispatcher. The
    latter provides a character device interface to user space.

    The git history also contains a merge of immutable branch from Wolfram
    Sang in order to apply a dependent fix to the Intel CherryTrail
    Battery Management driver.

    Other Intel drivers got a lot of cleanups. The Turbo Boost Max 3.0
    support is added for Intel Skylake.

    Peaq WMI hotkeys driver gets its own maintainer and white list of
    supported models.

    Silead DMI is expanded to support few additional platforms.

    Tablet mode via GMMS ACPI method is added to support some ThinkPad
    tablets.

    new driver:
    - Add driver to force WMI Thunderbolt controller power status

    asus-wmi:
    - Add lightbar led support

    dell-laptop:
    - Allocate buffer before rfkill use

    dell-smbios:
    - fix string overflow
    - Add filtering support
    - Introduce dispatcher for SMM calls
    - Add a sysfs interface for SMBIOS tokens
    - only run if proper oem string is detected
    - Prefix class/select with cmd_
    - Add pr_fmt definition to driver

    dell-smbios-smm:
    - test for WSMT

    dell-smbios-wmi:
    - release mutex lock on WMI call failure
    - introduce userspace interface
    - Add new WMI dispatcher driver

    dell-smo8800:
    - remove redundant assignments to byte_data

    dell-wmi:
    - don't check length returned
    - clean up wmi descriptor check
    - increase severity of some failures
    - Do not match on descriptor GUID modalias
    - Label driver as handling notifications

    dell-*wmi*:
    - Relay failed initial probe to dependent drivers

    dell-wmi-descriptor:
    - check if memory was allocated
    - split WMI descriptor into it's own driver

    fujitsu-laptop:
    - Fix radio LED detection
    - Don't oops when FUJ02E3 is not presnt

    hp_accel:
    - Add quirk for HP ProBook 440 G4

    hp-wmi:
    - Fix tablet mode detection for convertibles

    ideapad-laptop:
    - Add Lenovo Yoga 920-13IKB to no_hw_rfkill dmi list

    intel_cht_int33fe:
    - Update fusb302 type string, add properties
    - make a couple of local functions static
    - Work around BIOS bug on some devices

    intel-hid:
    - Power button suspend on Dell Latitude 7275

    intel_ips:
    - Convert timers to use timer_setup()
    - Remove FSF address from GPL notice
    - Remove unneeded fields and label
    - Keep pointer to struct device
    - Use PCI_VDEVICE() macro
    - Switch to new PCI IRQ allocation API
    - Simplify error handling via devres API

    intel_pmc_ipc:
    - Revert Use MFD framework to create dependent devices
    - Use MFD framework to create dependent devices
    - Use spin_lock to protect GCR updates
    - Use devm_* calls in driver probe function

    intel_punit_ipc:
    - Fix resource ioremap warning

    intel_telemetry:
    - Remove useless default in Kconfig
    - Add needed inclusion
    - cleanup redundant headers
    - Fix typos
    - Fix load failure info

    intel_telemetry_debugfs:
    - Use standard ARRAY_SIZE() macro

    intel_turbo_max_3:
    - Add Skylake platform

    intel-wmi-thunderbolt:
    - Silence error cases

    mlx-platform:
    - make a couple of structures static

    peaq_wmi:
    - Fix missing terminating entry for peaq_dmi_table

    peaq-wmi:
    - Remove unnecessary checks from peaq_wmi_exit
    - Add DMI check before binding to the WMI interface
    - Revert Blacklist Lenovo ideapad 700-15ISK
    - Blacklist Lenovo ideapad 700-15ISK

    silead_dmi:
    - Add silead, home-button property to some tablets
    - Add entry for the Digma e200 tablet
    - Fix GP-electronic T701 entry
    - Add entry for the Chuwi Hi8 Pro tablet

    sony-laptop:
    - Drop variable assignment in sony_nc_setup_rfkill()
    - Fix error handling in sony_nc_setup_rfkill()

    thinkpad_acpi:
    - Implement tablet mode using GMMS method

    tools/wmi:
    - add a sample for dell smbios communication over WMI

    wmi:
    - release mutex on module acquistion failure
    - create userspace interface for drivers
    - Don't allow drivers to get each other's GUIDs
    - Add new method wmidev_evaluate_method
    - Destroy on cleanup rather than unregister
    - Cleanup exit routine in reverse order of init
    - Sort include list"

    * tag 'platform-drivers-x86-v4.15-1' of git://git.infradead.org/linux-platform-drivers-x86: (74 commits)
    platform/x86: silead_dmi: Add silead, home-button property to some tablets
    platform/x86: dell-laptop: Allocate buffer before rfkill use
    platform/x86: dell-*wmi*: Relay failed initial probe to dependent drivers
    platform/x86: dell-wmi-descriptor: check if memory was allocated
    platform/x86: Revert intel_pmc_ipc: Use MFD framework to create dependent devices
    platform/x86: dell-smbios-wmi: release mutex lock on WMI call failure
    platform/x86: wmi: release mutex on module acquistion failure
    platform/x86: dell-smbios: fix string overflow
    platform/x86: intel_pmc_ipc: Use MFD framework to create dependent devices
    platform/x86: intel_punit_ipc: Fix resource ioremap warning
    platform/x86: dell-smo8800: remove redundant assignments to byte_data
    platform/x86: hp-wmi: Fix tablet mode detection for convertibles
    platform/x86: intel_ips: Convert timers to use timer_setup()
    platform/x86: sony-laptop: Drop variable assignment in sony_nc_setup_rfkill()
    platform/x86: sony-laptop: Fix error handling in sony_nc_setup_rfkill()
    tools/wmi: add a sample for dell smbios communication over WMI
    platform/x86: dell-smbios-wmi: introduce userspace interface
    platform/x86: wmi: create userspace interface for drivers
    platform/x86: dell-smbios: Add filtering support
    platform/x86: dell-smbios-smm: test for WSMT
    ...

    Linus Torvalds
     

18 Nov, 2017

8 commits

  • Most places use pwd and rely on $PATH lookup. Moving the remaining
    absolute path /bin/pwd users over for consistency.

    Also, a reason for doing /bin/pwd -> pwd instead of the other way around
    is because I believe build systems should make little assumptions on
    host filesystem layout. Case in point, we do this kind of patching
    already in NixOS.

    Ref. commit 028568d84da3cfca49f5f846eeeef01441d70451
    ("kbuild: revert $(realpath ...) to $(shell cd ... && /bin/pwd)").

    Signed-off-by: Bjørn Forsman
    Signed-off-by: Masahiro Yamada

    Bjørn Forsman
     
  • Merge more updates from Andrew Morton:

    - a bit more MM

    - procfs updates

    - dynamic-debug fixes

    - lib/ updates

    - checkpatch

    - epoll

    - nilfs2

    - signals

    - rapidio

    - PID management cleanup and optimization

    - kcov updates

    - sysvipc updates

    - quite a few misc things all over the place

    * emailed patches from Andrew Morton : (94 commits)
    EXPERT Kconfig menu: fix broken EXPERT menu
    include/asm-generic/topology.h: remove unused parent_node() macro
    arch/tile/include/asm/topology.h: remove unused parent_node() macro
    arch/sparc/include/asm/topology_64.h: remove unused parent_node() macro
    arch/sh/include/asm/topology.h: remove unused parent_node() macro
    arch/ia64/include/asm/topology.h: remove unused parent_node() macro
    drivers/pcmcia/sa1111_badge4.c: avoid unused function warning
    mm: add infrastructure for get_user_pages_fast() benchmarking
    sysvipc: make get_maxid O(1) again
    sysvipc: properly name ipc_addid() limit parameter
    sysvipc: duplicate lock comments wrt ipc_addid()
    sysvipc: unteach ids->next_id for !CHECKPOINT_RESTORE
    initramfs: use time64_t timestamps
    drivers/watchdog: make use of devm_register_reboot_notifier()
    kernel/reboot.c: add devm_register_reboot_notifier()
    kcov: update documentation
    Makefile: support flag -fsanitizer-coverage=trace-cmp
    kcov: support comparison operands collection
    kcov: remove pointless current != NULL check
    kernel/panic.c: add TAINT_AUX
    ...

    Linus Torvalds
     
  • Performance of get_user_pages_fast() is critical for some workloads, but
    it's tricky to test it directly.

    This patch provides /sys/kernel/debug/gup_benchmark that helps with
    testing performance of it.

    See tools/testing/selftests/vm/gup_benchmark.c for userspace
    counterpart.

    Link: http://lkml.kernel.org/r/20170908215603.9189-2-kirill.shutemov@linux.intel.com
    Signed-off-by: Kirill A. Shutemov
    Cc: Shuah Khan
    Cc: Ingo Molnar
    Cc: Thorsten Leemhuis
    Cc: Jonathan Corbet
    Cc: Huang Ying
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Kirill A. Shutemov
     
  • The uniform structure filter_arg sets its union based on the difference
    of enum filter_arg_type, However, some functions use implicit type
    conversion obviously.

    warning: implicit conversion from enumeration type 'enum filter_exp_type'
    to different enumeration type 'enum filter_op_type'

    warning: implicit conversion from enumeration type 'enum filter_cmp_type'
    to different enumeration type 'enum filter_exp_type'

    Link: http://lkml.kernel.org/r/1509938415-113825-1-git-send-email-cj.chengjian@huawei.com
    Signed-off-by: Cheng Jian
    Cc: Kate Stewart
    Cc: Xie XiuQi
    Cc: Li Bin
    Cc: Steven Rostedt (Red Hat)
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Cheng Jian
     
  • …l/git/shuah/linux-kselftest

    Pull kselftest updates from Shuah Khan:
    "This update to Kselftest consists of cleanup patches, fixes, and a new
    test for ion buffer sharing.

    Fixes include changes to skip firmware tests on systems that aren't
    configured to support them, as opposed to failing them"

    * tag 'linux-kselftest-4.15-rc1' of git://git.kernel.org/pub/scm/linux/kernel/git/shuah/linux-kselftest:
    selftests: firmware: skip unsupported custom firmware fallback tests
    selftests: firmware: skip unsupported async loading tests
    selftests: memfd_test.c: fix compilation warning.
    selftests/ftrace: Introduce exit_pass and exit_fail
    selftests: ftrace: add more config fragments
    android/ion: userspace test utility for ion buffer sharing
    selftests: remove obsolete kconfig fragment for cpu-hotplug
    selftests: vdso_test: support ARM64 targets
    selftests/ftrace: Do not use arch dependent do_IRQ as a target function
    selftests: breakpoints: fix compile error on breakpoint_test_arm64
    selftests: add missing test result status in memory-hotplug test
    selftests/exec: include cwd in long path calculation
    selftests: seccomp: update .gitignore with newly added tests
    selftests: vm: Update .gitignore with newly added tests
    selftests: timers: Update .gitignore with newly added tests

    Linus Torvalds
     
  • Pull thermal management updates from Zhang Rui:

    - introduce brcmstb AVS TMON thermal driver (Brian Norris)

    - add Rockchip RV1108 support in rockchip thermal driver (Rocky Hao)

    - major rework on HISI driver plus additional support of hisi3660
    (Daniel Lezcano)

    - add nvmem-cells binding on imx6sx (Leonard Crestez)

    - fix a NULL pointer dereference on ti thermal driver unloading (Tony
    Lindgren)

    - improve tmon tool to make it easier to cross-compile tmon (Markus
    Mayer)

    - add Coffee Lake and Cannon Lake support for intel processor and pch
    thermal drivers (Srinivas Pandruvada)

    - other small fixes and cleanups (Arvind Yadav, Colin Ian King, Allen
    Wild, Nicolin Chen, Baruch SiachNiklas Söderlund, Arnd Bergmann)

    * 'next' of git://git.kernel.org/pub/scm/linux/kernel/git/rzhang/linux: (44 commits)
    thermal: pch: Add Cannon Lake support
    thermal: int340x: processor_thermal: Add Coffee Lake support
    thermal: int340x: processor_thermal: Add Cannon Lake support
    thermal: bxt: remove redundant variable trip
    thermal: cpu_cooling: pr_err() strings should end with newlines
    thermal: add brcmstb AVS TMON driver
    Documentation: devicetree: add binding for Broadcom STB AVS TMON
    thermal/drivers/hisi: Add support for hi3660 SoC
    thermal/drivers/hisi: Prepare to add support for other hisi platforms
    thermal/drivers/hisi: Add platform prefix to function name
    thermal/drivers/hisi: Put platform code together
    thermal/drivers/qcom-spmi: Use devm_iio_channel_get
    thermal/drivers/generic-iio-adc: Switch tz request to devm version
    thermal/drivers/step_wise: Fix temperature regulation misbehavior
    thermal/drivers/hisi: Use round up step value
    thermal/drivers/hisi: Move the clk setup in the corresponding functions
    thermal/drivers/hisi: Remove mutex_lock in the code
    thermal/drivers/hisi: Remove thermal data back pointer
    thermal/drivers/hisi: Convert long to int
    thermal/drivers/hisi: Rename and remove unused field
    ...

    Linus Torvalds
     
  • Pull second round of s390 updates from Martin Schwidefsky:

    - rework of the vdso code to avoid the use of the access register mode

    - use perf AUX buffers for the transport of diagnostic sample data

    - add perf_regs and user stack dump support

    - enable perf call graphs for user space programs

    - add perf register support for floating-point registers

    - all remaining s390 related timer_setup conversions

    - bug fixes and cleanups

    * 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/s390/linux: (30 commits)
    s390: remove unused parameter from Makefile
    zfcp: purely mechanical update using timer API, plus blank lines
    s390/scsi: Convert timers to use timer_setup()
    s390/cpum_sf: correctly set the PID and TID in perf samples
    s390/cpum_sf: load program parameter at sampler enablement
    s390/perf: add perf register support for floating-point registers
    s390/perf: extend perf_regs support to include floating-point registers
    s390/perf: define common DWARF register string table
    s390/perf: add support for perf_regs and libdw
    s390/perf: add perf_regs support and user stack dump
    s390/cpum_sf: do not register PMU if no sampling mode is authorized
    s390/cpumf: remove raw event support in basic-only sampling mode
    s390/perf: add callback to perf to enable using AUX buffer
    s390/cpumf: enable using AUX buffer
    s390/cpumf: introduce AUX buffer for dump diagnostic sample data
    s390/disassembler: increase show_code buffer size
    s390: Remove CONFIG_HARDENED_USERCOPY
    s390: enable CPU alternatives unconditionally
    s390/nmi: remove unused code
    s390/mm: remove unused code
    ...

    Linus Torvalds
     
  • Pull libnvdimm and dax updates from Dan Williams:
    "Save for a few late fixes, all of these commits have shipped in -next
    releases since before the merge window opened, and 0day has given a
    build success notification.

    The ext4 touches came from Jan, and the xfs touches have Darrick's
    reviewed-by. An xfstest for the MAP_SYNC feature has been through
    a few round of reviews and is on track to be merged.

    - Introduce MAP_SYNC and MAP_SHARED_VALIDATE, a mechanism to enable
    'userspace flush' of persistent memory updates via filesystem-dax
    mappings. It arranges for any filesystem metadata updates that may
    be required to satisfy a write fault to also be flushed ("on disk")
    before the kernel returns to userspace from the fault handler.
    Effectively every write-fault that dirties metadata completes an
    fsync() before returning from the fault handler. The new
    MAP_SHARED_VALIDATE mapping type guarantees that the MAP_SYNC flag
    is validated as supported by the filesystem's ->mmap() file
    operation.

    - Add support for the standard ACPI 6.2 label access methods that
    replace the NVDIMM_FAMILY_INTEL (vendor specific) label methods.
    This enables interoperability with environments that only implement
    the standardized methods.

    - Add support for the ACPI 6.2 NVDIMM media error injection methods.

    - Add support for the NVDIMM_FAMILY_INTEL v1.6 DIMM commands for
    latch last shutdown status, firmware update, SMART error injection,
    and SMART alarm threshold control.

    - Cleanup physical address information disclosures to be root-only.

    - Fix revalidation of the DIMM "locked label area" status to support
    dynamic unlock of the label area.

    - Expand unit test infrastructure to mock the ACPI 6.2 Translate SPA
    (system-physical-address) command and error injection commands.

    Acknowledgements that came after the commits were pushed to -next:

    - 957ac8c421ad ("dax: fix PMD faults on zero-length files"):
    Reviewed-by: Ross Zwisler

    - a39e596baa07 ("xfs: support for synchronous DAX faults") and
    7b565c9f965b ("xfs: Implement xfs_filemap_pfn_mkwrite() using __xfs_filemap_fault()")
    Reviewed-by: Darrick J. Wong "

    * tag 'libnvdimm-for-4.15' of git://git.kernel.org/pub/scm/linux/kernel/git/nvdimm/nvdimm: (49 commits)
    acpi, nfit: add 'Enable Latch System Shutdown Status' command support
    dax: fix general protection fault in dax_alloc_inode
    dax: fix PMD faults on zero-length files
    dax: stop requiring a live device for dax_flush()
    brd: remove dax support
    dax: quiet bdev_dax_supported()
    fs, dax: unify IOMAP_F_DIRTY read vs write handling policy in the dax core
    tools/testing/nvdimm: unit test clear-error commands
    acpi, nfit: validate commands against the device type
    tools/testing/nvdimm: stricter bounds checking for error injection commands
    xfs: support for synchronous DAX faults
    xfs: Implement xfs_filemap_pfn_mkwrite() using __xfs_filemap_fault()
    ext4: Support for synchronous DAX faults
    ext4: Simplify error handling in ext4_dax_huge_fault()
    dax: Implement dax_finish_sync_fault()
    dax, iomap: Add support for synchronous faults
    mm: Define MAP_SYNC and VM_SYNC flags
    dax: Allow tuning whether dax_insert_mapping_entry() dirties entry
    dax: Allow dax_iomap_fault() to return pfn
    dax: Fix comment describing dax_iomap_fault()
    ...

    Linus Torvalds
     

17 Nov, 2017

2 commits

  • Pull KVM updates from Radim Krčmář:
    "First batch of KVM changes for 4.15

    Common:
    - Python 3 support in kvm_stat
    - Accounting of slabs to kmemcg

    ARM:
    - Optimized arch timer handling for KVM/ARM
    - Improvements to the VGIC ITS code and introduction of an ITS reset
    ioctl
    - Unification of the 32-bit fault injection logic
    - More exact external abort matching logic

    PPC:
    - Support for running hashed page table (HPT) MMU mode on a host that
    is using the radix MMU mode; single threaded mode on POWER 9 is
    added as a pre-requisite
    - Resolution of merge conflicts with the last second 4.14 HPT fixes
    - Fixes and cleanups

    s390:
    - Some initial preparation patches for exitless interrupts and crypto
    - New capability for AIS migration
    - Fixes

    x86:
    - Improved emulation of LAPIC timer mode changes, MCi_STATUS MSRs,
    and after-reset state
    - Refined dependencies for VMX features
    - Fixes for nested SMI injection
    - A lot of cleanups"

    * tag 'kvm-4.15-1' of git://git.kernel.org/pub/scm/virt/kvm/kvm: (89 commits)
    KVM: s390: provide a capability for AIS state migration
    KVM: s390: clear_io_irq() requests are not expected for adapter interrupts
    KVM: s390: abstract conversion between isc and enum irq_types
    KVM: s390: vsie: use common code functions for pinning
    KVM: s390: SIE considerations for AP Queue virtualization
    KVM: s390: document memory ordering for kvm_s390_vcpu_wakeup
    KVM: PPC: Book3S HV: Cosmetic post-merge cleanups
    KVM: arm/arm64: fix the incompatible matching for external abort
    KVM: arm/arm64: Unify 32bit fault injection
    KVM: arm/arm64: vgic-its: Implement KVM_DEV_ARM_ITS_CTRL_RESET
    KVM: arm/arm64: Document KVM_DEV_ARM_ITS_CTRL_RESET
    KVM: arm/arm64: vgic-its: Free caches when GITS_BASER Valid bit is cleared
    KVM: arm/arm64: vgic-its: New helper functions to free the caches
    KVM: arm/arm64: vgic-its: Remove kvm_its_unmap_device
    arm/arm64: KVM: Load the timer state when enabling the timer
    KVM: arm/arm64: Rework kvm_timer_should_fire
    KVM: arm/arm64: Get rid of kvm_timer_flush_hwstate
    KVM: arm/arm64: Avoid phys timer emulation in vcpu entry/exit
    KVM: arm/arm64: Move phys_timer_emulate function
    KVM: arm/arm64: Use kvm_arm_timer_set/get_reg for guest register traps
    ...

    Linus Torvalds
     
  • Pull powerpc updates from Michael Ellerman:
    "A bit of a small release, I suspect in part due to me travelling for
    KS. But my backlog of patches to review is smaller than usual, so I
    think in part folks just didn't send as much this cycle.

    Non-highlights:

    - Five fixes for the >128T address space handling, both to fix bugs
    in our implementation and to bring the semantics exactly into line
    with x86.

    Highlights:

    - Support for a new OPAL call on bare metal machines which gives us a
    true NMI (ie. is not masked by MSR[EE]=0) for debugging etc.

    - Support for Power9 DD2 in the CXL driver.

    - Improvements to machine check handling so that uncorrectable errors
    can be reported into the generic memory_failure() machinery.

    - Some fixes and improvements for VPHN, which is used under PowerVM
    to notify the Linux partition of topology changes.

    - Plumbing to enable TM (transactional memory) without suspend on
    some Power9 processors (PPC_FEATURE2_HTM_NO_SUSPEND).

    - Support for emulating vector loads form cache-inhibited memory, on
    some Power9 revisions.

    - Disable the fast-endian switch "syscall" by default (behind a
    CONFIG), we believe it has never had any users.

    - A major rework of the API drivers use when initiating and waiting
    for long running operations performed by OPAL firmware, and changes
    to the powernv_flash driver to use the new API.

    - Several fixes for the handling of FP/VMX/VSX while processes are
    using transactional memory.

    - Optimisations of TLB range flushes when using the radix MMU on
    Power9.

    - Improvements to the VAS facility used to access coprocessors on
    Power9, and related improvements to the way the NX crypto driver
    handles requests.

    - Implementation of PMEM_API and UACCESS_FLUSHCACHE for 64-bit.

    Thanks to: Alexey Kardashevskiy, Alistair Popple, Allen Pais, Andrew
    Donnellan, Aneesh Kumar K.V, Arnd Bergmann, Balbir Singh, Benjamin
    Herrenschmidt, Breno Leitao, Christophe Leroy, Christophe Lombard,
    Cyril Bur, Frederic Barrat, Gautham R. Shenoy, Geert Uytterhoeven,
    Guilherme G. Piccoli, Gustavo Romero, Haren Myneni, Joel Stanley,
    Kamalesh Babulal, Kautuk Consul, Markus Elfring, Masami Hiramatsu,
    Michael Bringmann, Michael Neuling, Michal Suchanek, Naveen N. Rao,
    Nicholas Piggin, Oliver O'Halloran, Paul Mackerras, Pedro Miraglia
    Franco de Carvalho, Philippe Bergheaud, Sandipan Das, Seth Forshee,
    Shriya, Stephen Rothwell, Stewart Smith, Sukadev Bhattiprolu, Tyrel
    Datwyler, Vaibhav Jain, Vaidyanathan Srinivasan, and William A.
    Kennington III"

    * tag 'powerpc-4.15-1' of git://git.kernel.org/pub/scm/linux/kernel/git/powerpc/linux: (151 commits)
    powerpc/64s: Fix Power9 DD2.0 workarounds by adding DD2.1 feature
    powerpc/64s: Fix masking of SRR1 bits on instruction fault
    powerpc/64s: mm_context.addr_limit is only used on hash
    powerpc/64s/radix: Fix 128TB-512TB virtual address boundary case allocation
    powerpc/64s/hash: Allow MAP_FIXED allocations to cross 128TB boundary
    powerpc/64s/hash: Fix fork() with 512TB process address space
    powerpc/64s/hash: Fix 128TB-512TB virtual address boundary case allocation
    powerpc/64s/hash: Fix 512T hint detection to use >= 128T
    powerpc: Fix DABR match on hash based systems
    powerpc/signal: Properly handle return value from uprobe_deny_signal()
    powerpc/fadump: use kstrtoint to handle sysfs store
    powerpc/lib: Implement UACCESS_FLUSHCACHE API
    powerpc/lib: Implement PMEM API
    powerpc/powernv/npu: Don't explicitly flush nmmu tlb
    powerpc/powernv/npu: Use flush_all_mm() instead of flush_tlb_mm()
    powerpc/powernv/idle: Round up latency and residency values
    powerpc/kprobes: refactor kprobe_lookup_name for safer string operations
    powerpc/kprobes: Blacklist emulate_update_regs() from kprobes
    powerpc/kprobes: Do not disable interrupts for optprobes and kprobes_on_ftrace
    powerpc/kprobes: Disable preemption before invoking probe handler for optprobes
    ...

    Linus Torvalds
     

16 Nov, 2017

14 commits

  • For correct unwinding of user space processes, the floating-point
    register contents are required. For example, leaf functions might
    use fp registers to temporarily store the return address.

    Signed-off-by: Hendrik Brueckner
    Reviewed-and-tested-by: Thomas Richter
    Signed-off-by: Martin Schwidefsky

    Hendrik Brueckner
     
  • Instead of defining DWARF register to string table in dwarf-regs-table.h
    and dwarf-regs.c, use a common table in dwarf-regs-table.h.

    Ensure that the DWARF register table is up-to-date with
    http://refspecs.linuxfoundation.org/ELF/zSeries/lzsabi0_s390/x1542.html.

    For unwinding with libdw, also ensure to correctly setup the DWARF
    register frame according to the register mappings. Currently, libdw
    supports up to 32 registers only.

    Suggested-by: Thomas Richter
    Signed-off-by: Hendrik Brueckner
    Reviewed-and-tested-by: Thomas Richter
    Signed-off-by: Martin Schwidefsky

    Hendrik Brueckner
     
  • With support for perf_regs and libdw, you can record and report
    call graphs for user space programs. Simply invoke perf with
    the --call-graph=dwarf command line option.

    Signed-off-by: Heiko Carstens
    [brueckner: added dwfl_thread_state_register_pc() call]
    Signed-off-by: Hendrik Brueckner
    Reviewed-and-tested-by: Thomas Richter
    Signed-off-by: Martin Schwidefsky

    Heiko Carstens
     
  • Perf tool need implement a callback to enable using AUX buffer. Perf
    will do another mmap() to trigger the setup of AUX buffer in kernel
    if there is such callback. The default size of the AUX buffer is set
    properly according to the sampling frequency to avoid overflow. It
    could also be manually set by -m option of perf.

    The interface of perf is not changed. Diagnostic mode sampling
    could be started by `perf record -e rBD000` like before.

    Signed-off-by: Pu Hou
    Reviewed-by: Hendrik Brueckner
    Signed-off-by: Martin Schwidefsky

    Pu Hou
     
  • 5-level paging provides a 56-bit virtual address space for user space
    application. But the kernel defaults to mappings below the 47-bit address
    space boundary, which is the upper bound for 4-level paging, unless an
    application explicitely request it by using a mmap(2) address hint above
    the 47-bit boundary. The kernel prevents mappings which spawn across the
    47-bit boundary unless mmap(2) was invoked with MAP_FIXED.

    Add a self-test that covers the corner cases of the interface and validates
    the correctness of the implementation.

    [ tglx: Massaged changelog once more ]

    Signed-off-by: Kirill A. Shutemov
    Signed-off-by: Thomas Gleixner
    Cc: Nicholas Piggin
    Cc: Andy Lutomirski
    Cc: linux-mm@kvack.org
    Cc: Linus Torvalds
    Link: https://lkml.kernel.org/r/20171115143607.81541-2-kirill.shutemov@linux.intel.com

    Kirill A. Shutemov
     
  • Pull drm updates from Dave Airlie:
    "This is the main drm pull request for v4.15.

    Core:
    - Atomic object lifetime fixes
    - Atomic iterator improvements
    - Sparse/smatch fixes
    - Legacy kms ioctls to be interruptible
    - EDID override improvements
    - fb/gem helper cleanups
    - Simple outreachy patches
    - Documentation improvements
    - Fix dma-buf rcu races
    - DRM mode object leasing for improving VR use cases.
    - vgaarb improvements for non-x86 platforms.

    New driver:
    - tve200: Faraday Technology TVE200 block.

    This "TV Encoder" encodes a ITU-T BT.656 stream and can be found in
    the StorLink SL3516 (later Cortina Systems CS3516) as well as the
    Grain Media GM8180.

    New bridges:
    - SiI9234 support

    New panels:
    - S6E63J0X03, OTM8009A, Seiko 43WVF1G, 7" rpi touch panel, Toshiba
    LT089AC19000, Innolux AT043TN24

    i915:
    - Remove Coffeelake from alpha support
    - Cannonlake workarounds
    - Infoframe refactoring for DisplayPort
    - VBT updates
    - DisplayPort vswing/emph/buffer translation refactoring
    - CCS fixes
    - Restore GPU clock boost on missed vblanks
    - Scatter list updates for userptr allocations
    - Gen9+ transition watermarks
    - Display IPC (Isochronous Priority Control)
    - Private PAT management
    - GVT: improved error handling and pci config sanitizing
    - Execlist refactoring
    - Transparent Huge Page support
    - User defined priorities support
    - HuC/GuC firmware refactoring
    - DP MST fixes
    - eDP power sequencing fixes
    - Use RCU instead of stop_machine
    - PSR state tracking support
    - Eviction fixes
    - BDW DP aux channel timeout fixes
    - LSPCON fixes
    - Cannonlake PLL fixes

    amdgpu:
    - Per VM BO support
    - Powerplay cleanups
    - CI powerplay support
    - PASID mgr for kfd
    - SR-IOV fixes
    - initial GPU reset for vega10
    - Prime mmap support
    - TTM updates
    - Clock query interface for Raven
    - Fence to handle ioctl
    - UVD encode ring support on Polaris
    - Transparent huge page DMA support
    - Compute LRU pipe tweaks
    - BO flag to allow buffers to opt out of implicit sync
    - CTX priority setting API
    - VRAM lost infrastructure plumbing

    qxl:
    - fix flicker since atomic rework

    amdkfd:
    - Further improvements from internal AMD tree
    - Usermode events
    - Drop radeon support

    nouveau:
    - Pascal temperature sensor support
    - Improved BAR2 handling
    - MMU rework to support Pascal MMU

    exynos:
    - Improved HDMI/mixer support
    - HDMI audio interface support

    tegra:
    - Prep work for tegra186
    - Cleanup/fixes

    msm:
    - Preemption support for a5xx
    - Display fixes for 8x96 (snapdragon 820)
    - Async cursor plane fixes
    - FW loading rework
    - GPU debugging improvements

    vc4:
    - Prep for DSI panels
    - fix T-format tiling scanout
    - New madvise ioctl

    Rockchip:
    - LVDS support

    omapdrm:
    - omap4 HDMI CEC support

    etnaviv:
    - GPU performance counters groundwork

    sun4i:
    - refactor driver load + TCON backend
    - HDMI improvements
    - A31 support
    - Misc fixes

    udl:
    - Probe/EDID read fixes.

    tilcdc:
    - Misc fixes.

    pl111:
    - Support more variants

    adv7511:
    - Improve EDID handling.
    - HDMI CEC support

    sii8620:
    - Add remote control support"

    * tag 'drm-for-v4.15' of git://people.freedesktop.org/~airlied/linux: (1480 commits)
    drm/rockchip: analogix_dp: Use mutex rather than spinlock
    drm/mode_object: fix documentation for object lookups.
    drm/i915: Reorder context-close to avoid calling i915_vma_close() under RCU
    drm/i915: Move init_clock_gating() back to where it was
    drm/i915: Prune the reservation shared fence array
    drm/i915: Idle the GPU before shinking everything
    drm/i915: Lock llist_del_first() vs llist_del_all()
    drm/i915: Calculate ironlake intermediate watermarks correctly, v2.
    drm/i915: Disable lazy PPGTT page table optimization for vGPU
    drm/i915/execlists: Remove the priority "optimisation"
    drm/i915: Filter out spurious execlists context-switch interrupts
    drm/amdgpu: use irq-safe lock for kiq->ring_lock
    drm/amdgpu: bypass lru touch for KIQ ring submission
    drm/amdgpu: Potential uninitialized variable in amdgpu_vm_update_directories()
    drm/amdgpu: potential uninitialized variable in amdgpu_vce_ring_parse_cs()
    drm/amd/powerplay: initialize a variable before using it
    drm/amd/powerplay: suppress KASAN out of bounds warning in vega10_populate_all_memory_levels
    drm/amd/amdgpu: fix evicted VRAM bo adjudgement condition
    drm/vblank: Tune drm_crtc_accurate_vblank_count() WARN down to a debug
    drm/rockchip: add CONFIG_OF dependency for lvds
    ...

    Linus Torvalds
     
  • Merge updates from Andrew Morton:

    - a few misc bits

    - ocfs2 updates

    - almost all of MM

    * emailed patches from Andrew Morton : (131 commits)
    memory hotplug: fix comments when adding section
    mm: make alloc_node_mem_map a void call if we don't have CONFIG_FLAT_NODE_MEM_MAP
    mm: simplify nodemask printing
    mm,oom_reaper: remove pointless kthread_run() error check
    mm/page_ext.c: check if page_ext is not prepared
    writeback: remove unused function parameter
    mm: do not rely on preempt_count in print_vma_addr
    mm, sparse: do not swamp log with huge vmemmap allocation failures
    mm/hmm: remove redundant variable align_end
    mm/list_lru.c: mark expected switch fall-through
    mm/shmem.c: mark expected switch fall-through
    mm/page_alloc.c: broken deferred calculation
    mm: don't warn about allocations which stall for too long
    fs: fuse: account fuse_inode slab memory as reclaimable
    mm, page_alloc: fix potential false positive in __zone_watermark_ok
    mm: mlock: remove lru_add_drain_all()
    mm, sysctl: make NUMA stats configurable
    shmem: convert shmem_init_inodecache() to void
    Unify migrate_pages and move_pages access checks
    mm, pagevec: rename pagevec drained field
    ...

    Linus Torvalds
     
  • As the page free path makes no distinction between cache hot and cold
    pages, there is no real useful ordering of pages in the free list that
    allocation requests can take advantage of. Juding from the users of
    __GFP_COLD, it is likely that a number of them are the result of copying
    other sites instead of actually measuring the impact. Remove the
    __GFP_COLD parameter which simplifies a number of paths in the page
    allocator.

    This is potentially controversial but bear in mind that the size of the
    per-cpu pagelists versus modern cache sizes means that the whole per-cpu
    list can often fit in the L3 cache. Hence, there is only a potential
    benefit for microbenchmarks that alloc/free pages in a tight loop. It's
    even worse when THP is taken into account which has little or no chance
    of getting a cache-hot page as the per-cpu list is bypassed and the
    zeroing of multiple pages will thrash the cache anyway.

    The truncate microbenchmarks are not shown as this patch affects the
    allocation path and not the free path. A page fault microbenchmark was
    tested but it showed no sigificant difference which is not surprising
    given that the __GFP_COLD branches are a miniscule percentage of the
    fault path.

    Link: http://lkml.kernel.org/r/20171018075952.10627-9-mgorman@techsingularity.net
    Signed-off-by: Mel Gorman
    Acked-by: Vlastimil Babka
    Cc: Andi Kleen
    Cc: Dave Chinner
    Cc: Dave Hansen
    Cc: Jan Kara
    Cc: Johannes Weiner
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Mel Gorman
     
  • During truncation, the mapping has already been checked for shmem and
    dax so it's known that workingset_update_node is required.

    This patch avoids the checks on mapping for each page being truncated.
    In all other cases, a lookup helper is used to determine if
    workingset_update_node() needs to be called. The one danger is that the
    API is slightly harder to use as calling workingset_update_node directly
    without checking for dax or shmem mappings could lead to surprises.
    However, the API rarely needs to be used and hopefully the comment is
    enough to give people the hint.

    sparsetruncate (tiny)
    4.14.0-rc4 4.14.0-rc4
    oneirq-v1r1 pickhelper-v1r1
    Min Time 141.00 ( 0.00%) 140.00 ( 0.71%)
    1st-qrtle Time 142.00 ( 0.00%) 141.00 ( 0.70%)
    2nd-qrtle Time 142.00 ( 0.00%) 142.00 ( 0.00%)
    3rd-qrtle Time 143.00 ( 0.00%) 143.00 ( 0.00%)
    Max-90% Time 144.00 ( 0.00%) 144.00 ( 0.00%)
    Max-95% Time 147.00 ( 0.00%) 145.00 ( 1.36%)
    Max-99% Time 195.00 ( 0.00%) 191.00 ( 2.05%)
    Max Time 230.00 ( 0.00%) 205.00 ( 10.87%)
    Amean Time 144.37 ( 0.00%) 143.82 ( 0.38%)
    Stddev Time 10.44 ( 0.00%) 9.00 ( 13.74%)
    Coeff Time 7.23 ( 0.00%) 6.26 ( 13.41%)
    Best99%Amean Time 143.72 ( 0.00%) 143.34 ( 0.26%)
    Best95%Amean Time 142.37 ( 0.00%) 142.00 ( 0.26%)
    Best90%Amean Time 142.19 ( 0.00%) 141.85 ( 0.24%)
    Best75%Amean Time 141.92 ( 0.00%) 141.58 ( 0.24%)
    Best50%Amean Time 141.69 ( 0.00%) 141.31 ( 0.27%)
    Best25%Amean Time 141.38 ( 0.00%) 140.97 ( 0.29%)

    As you'd expect, the gain is marginal but it can be detected. The
    differences in bonnie are all within the noise which is not surprising
    given the impact on the microbenchmark.

    radix_tree_update_node_t is a callback for some radix operations that
    optionally passes in a private field. The only user of the callback is
    workingset_update_node and as it no longer requires a mapping, the
    private field is removed.

    Link: http://lkml.kernel.org/r/20171018075952.10627-3-mgorman@techsingularity.net
    Signed-off-by: Mel Gorman
    Acked-by: Johannes Weiner
    Reviewed-by: Jan Kara
    Cc: Andi Kleen
    Cc: Dave Chinner
    Cc: Dave Hansen
    Cc: Vlastimil Babka
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Mel Gorman
     
  • Fix up makefiles, remove references, and git rm kmemcheck.

    Link: http://lkml.kernel.org/r/20171007030159.22241-4-alexander.levin@verizon.com
    Signed-off-by: Sasha Levin
    Cc: Steven Rostedt
    Cc: Vegard Nossum
    Cc: Pekka Enberg
    Cc: Michal Hocko
    Cc: Eric W. Biederman
    Cc: Alexander Potapenko
    Cc: Tim Hansen
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Levin, Alexander (Sasha Levin)
     
  • Now that kmemcheck is gone, we don't need the NOTRACK flags.

    Link: http://lkml.kernel.org/r/20171007030159.22241-5-alexander.levin@verizon.com
    Signed-off-by: Sasha Levin
    Cc: Alexander Potapenko
    Cc: Eric W. Biederman
    Cc: Michal Hocko
    Cc: Pekka Enberg
    Cc: Steven Rostedt
    Cc: Tim Hansen
    Cc: Vegard Nossum
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Levin, Alexander (Sasha Levin)
     
  • Patch series "oom: capture unreclaimable slab info in oom message", v10.

    Recently we ran into a oom issue, kernel panic due to no killable
    process. The dmesg shows huge unreclaimable slabs used almost 100%
    memory, but kdump doesn't capture vmcore due to some reason.

    So, it may sound better to capture unreclaimable slab info in oom
    message when kernel panic to aid trouble shooting and cover the corner
    case. Since kernel already panic, so capturing more information sounds
    worthy and doesn't bother normal oom killer.

    With the patchset, tools/vm/slabinfo has a new option, "-U", to show
    unreclaimable slab only.

    And, oom will print all non zero (num_objs * size != 0) unreclaimable
    slabs in oom killer message.

    This patch (of 3):

    Add "-U" option to show unreclaimable slabs only.

    "-U" and "-S" together can tell us what unreclaimable slabs use the most
    memory to help debug huge unreclaimable slabs issue.

    Link: http://lkml.kernel.org/r/1507152550-46205-2-git-send-email-yang.s@alibaba-inc.com
    Signed-off-by: Yang Shi
    Acked-by: Christoph Lameter
    Acked-by: David Rientjes
    Cc: Pekka Enberg
    Cc: Joonsoo Kim
    Cc: Michal Hocko
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Yang Shi
     
  • Dan Williams
     
  • Pull networking updates from David Miller:
    "Highlights:

    1) Maintain the TCP retransmit queue using an rbtree, with 1GB
    windows at 100Gb this really has become necessary. From Eric
    Dumazet.

    2) Multi-program support for cgroup+bpf, from Alexei Starovoitov.

    3) Perform broadcast flooding in hardware in mv88e6xxx, from Andrew
    Lunn.

    4) Add meter action support to openvswitch, from Andy Zhou.

    5) Add a data meta pointer for BPF accessible packets, from Daniel
    Borkmann.

    6) Namespace-ify almost all TCP sysctl knobs, from Eric Dumazet.

    7) Turn on Broadcom Tags in b53 driver, from Florian Fainelli.

    8) More work to move the RTNL mutex down, from Florian Westphal.

    9) Add 'bpftool' utility, to help with bpf program introspection.
    From Jakub Kicinski.

    10) Add new 'cpumap' type for XDP_REDIRECT action, from Jesper
    Dangaard Brouer.

    11) Support 'blocks' of transformations in the packet scheduler which
    can span multiple network devices, from Jiri Pirko.

    12) TC flower offload support in cxgb4, from Kumar Sanghvi.

    13) Priority based stream scheduler for SCTP, from Marcelo Ricardo
    Leitner.

    14) Thunderbolt networking driver, from Amir Levy and Mika Westerberg.

    15) Add RED qdisc offloadability, and use it in mlxsw driver. From
    Nogah Frankel.

    16) eBPF based device controller for cgroup v2, from Roman Gushchin.

    17) Add some fundamental tracepoints for TCP, from Song Liu.

    18) Remove garbage collection from ipv6 route layer, this is a
    significant accomplishment. From Wei Wang.

    19) Add multicast route offload support to mlxsw, from Yotam Gigi"

    * git://git.kernel.org/pub/scm/linux/kernel/git/davem/net-next: (2177 commits)
    tcp: highest_sack fix
    geneve: fix fill_info when link down
    bpf: fix lockdep splat
    net: cdc_ncm: GetNtbFormat endian fix
    openvswitch: meter: fix NULL pointer dereference in ovs_meter_cmd_reply_start
    netem: remove unnecessary 64 bit modulus
    netem: use 64 bit divide by rate
    tcp: Namespace-ify sysctl_tcp_default_congestion_control
    net: Protect iterations over net::fib_notifier_ops in fib_seq_sum()
    ipv6: set all.accept_dad to 0 by default
    uapi: fix linux/tls.h userspace compilation error
    usbnet: ipheth: prevent TX queue timeouts when device not ready
    vhost_net: conditionally enable tx polling
    uapi: fix linux/rxrpc.h userspace compilation errors
    net: stmmac: fix LPI transitioning for dwmac4
    atm: horizon: Fix irq release error
    net-sysfs: trigger netlink notification on ifalias change via sysfs
    openvswitch: Using kfree_rcu() to simplify the code
    openvswitch: Make local function ovs_nsh_key_attr_size() static
    openvswitch: Fix return value check in ovs_meter_cmd_features()
    ...

    Linus Torvalds
     

15 Nov, 2017

4 commits

  • Ignore custom firmware loading and cancellation tests on older
    kernel releases, which do not support this feature.

    Fixes: 061132d2b9c9 ("test_firmware: add test custom fallback trigger")
    Reviewed-by: Sumit Semwal
    Acked-by: Luis R. Rodriguez
    Acked-by: Greg Kroah-Hartman
    Signed-off-by: Amit Pundir
    Signed-off-by: Shuah Khan

    Amit Pundir
     
  • Ignore async firmware loading tests on older kernel releases,
    which do not support this feature.

    Fixes: 1b1fe542b6f0:
    ("selftests: firmware: add empty string and async tests")
    Reviewed-by: Sumit Semwal
    Acked-by: Luis R. Rodriguez
    Acked-by: Greg Kroah-Hartman
    Signed-off-by: Amit Pundir
    Signed-off-by: Shuah Khan

    Amit Pundir
     
  • Replace '%d' by '%zu' to fix the following compilation warning.

    memfd_test.c:517:3: warning: format ‘%d’ expects argument of
    type ‘int’,but argument 2 has type ‘size_t’ [-Wformat=]
    printf("malloc(%d) failed: %m\n", mfd_def_size * 8);
    ^
    memfd_test.c: In function ‘mfd_fail_grow_write’:
    memfd_test.c:537:3: warning: format ‘%d’ expects argument
    of type ‘int’,but argument 2 has type ‘size_t’ [-Wformat=]
    printf("malloc(%d) failed: %m\n", mfd_def_size * 8);

    Signed-off-by: Lei Yang
    Signed-off-by: Shuah Khan

    Lei Yang
     
  • As same as other results, introduce exit_pass and exit_fail
    functions so that we can easily understand what will happen.

    Signed-off-by: Masami Hiramatsu
    Acked-by: Steven Rostedt (VMware)
    Signed-off-by: Shuah Khan

    Masami Hiramatsu