Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit 3de6a585 authored by Abhijith Desai's avatar Abhijith Desai
Browse files

Merge commit '2258de68' into dev/msm-4.14-display



* commit '2258de68':
  msm: camera_v2: isp: mark error print to debug
  ARM: dts: msm: Enable NVMe device support
  ARM: dts: msm: Disable PCIe l0s low power mode for QCS405
  ARM: dts: msm: Enable PCIe PHY powerdown for QCS405
  msm: pcie: Add support to powerdown PCIe PHY in probe
  defconfig: Enable NVME driver
  clk: qcom: gcc-sm8150: Add clock asynchronous resets to BCRs
  power: smb5-lib: set DCP ICL based on Rp value
  power: smb5: Fix a possible reverse boost
  msm: IPA: warn for MHI Prime clock vote/unvote mismatch
  ARM: dts: msm: Add io-expander pins for audio daughter card on 8195
  msm: kgsl: hyp assign secure pages to HLOS during hibernation
  msm: npu: update performance mode during load network
  msm: npu: Allow user app to retrieve NPU version via get_property
  msm: kgsl: Enable SMMU programming in TZ after hibernation
  msm: kgsl: clear GMU flags before hibernation
  msm: kgsl: unload/reload zap shader
  ARM: dts: msm: Add DTSi entry for IRLED for QCS610
  soc: qcom: scm_qcpe: Fix support to scm_call2_atomic
  ARM: dts: msm: Do not modify the pm8008 voltages for trinket
  Revert "cnss2: Prevent vote for MHI wake after device error"
  msm: IPA: stop ODL GSI channel when PC happens
  dt-bindings: Add a new extern bridge config
  ARM: dts: msm: Update the MHI configuration for Genoa
  mhi: core: get bhie offset from devicetree node
  mhi: core: add support for dynamic execution environment (EE)
  cnss2: Prevent vote for MHI wake after device error
  icnss: Register to ESOC power off notification
  ARM: dts: msm: Add the sensors AHB node for sdmshrike
  msm: ipa3: support ipa clk scaling for pcie modem
  diag: Add memory device support for multiple devices
  msm: kgsl: Don't free memory if locking failed with error EADDRNOTAVAIL
  ARM: dts: msm: Disable tpdm gpu for sdmmagpie
  ARM: dts: msm: Correct the mnt flags for trinket
  Arm: dts: Add energy costs for Atoll
  pinctrl: qcom: Add direct connect configuration for atoll
  ARM: dts: msm: Add CommandDB device bindings for atoll
  ARM: dts: msm: add system PM device binding for atoll
  ARM: dts: msm: Add RSC mailbox controller device nodes for atoll
  msm: phy: Add WOL functions in micrel driver
  msm: adsprpc: Add error handling checks
  drm/msm/sde: Add AD4 memory range to valid range
  esoc: Introduce stage-3 reset under boot fail action
  Revert "defconfig: sm8150: Disable BUILD_ARM64_APPENDED_DTB_IMAGE flag"
  ARM: dts: msm: EMAC changes for QCS610 platform
  ARM: dts: msm: Disable TCSR PERST for sa8155p
  qcom_geni_se: Add a check in QUP common driver to vote for BW
  ARM: dts: msm: Add PDC interrupt controller for atoll
  drivers: irqchip: qcom: Add PDC pin data for atoll
  ARM: dts: msm: Enable QG ADC ibat scaling factor for PMI632 BCL
  drivers: bcl_pmic5: Add ibat scaling factor support for ibat conversion
  msm: ep_pcie: Update enablement for TCSR PERST
  defconfig: Disable USER HELPHER Fallback for QCS405
  ARM: dts: qcom: Update sec_mi2s gpio pinctrl for sdxprairie
  ARM: dts: msm: Correct camera sensor MCLK frequency for QCS610
  msm: ipa: Tune IPA EP configuarion to match updated design
  msm: IPA: uC debug stats for gsi offloading protocols
  msm: ipa: add IPA hw stats for PCIE modem
  power: pmic-voter: Add API to override votes
  ARM: dts: msm: Add device tree support for sdxprairie v2
  ARM: dts: msm: Shutdown the external-mdm before the internal
  esoc: Move the esoc client hooks' definitions from uapi header
  power:hibernate: KPI marker for Hibernation Success
  soc: qcom: boot_stats: Enable marker for atomic context.
  msm: Configure UCHE GMEM base address based on GMEM size
  cnss2: Use token argument instead of dev in SMMU fault handler
  net: qualcomm: rmnet: Add new rmnet_perf ingress hook
  soc: qcom: ssr: Add dependency hooks for subsystem power operations
  spi: spi-geni-qcom: Allow MISO<->MOSI connectivity for slave pins
  ARM: dts: msm: configure DT to support dual Charge Pumps
  power: smb1390-psy: Add support for SMB1390 SW Initialization
  Arm: dts: Add a dt node for QUP to vote for actual Band width
  soc: qcom: qmi_interface: Release mutex lock before return
  scsi: ufs-qcom: add freeze-restore callback
  scsi: ufs: Add freeze and restore callbacks
  nvme: smmu support via devicetree
  coresight: tpdm: Add sysfs to control timestamp for each MCMB frame
  msm: npu: Support enable/disable NPU via set_property
  msm: ipa: enable mhi prime manager for perf images
  arm64: hibernate: Introduce new entry point to kernel
  devfreq: check return value of operating point property
  atlantic-forwarding driver v1.0.19
  net: qrtr: Use skb with fragments in memory failure case
  diag: Handle event enable command properly
  usb: dwc3-msm: Ensure reset if h/w is out of lpm without any events
  msm: camera: isp: process RDI regupdate from each ISP
  msm: camera: jpegdma: Added missing lock for dqbuf and streamon
  mailbox: qcom-rpmh: Add hibernation support
  irqchip: qcom: pdc: Add hibernation support
  ARM: dts: msm: Update sa615-vm device tree for audio
  cnss2: Load firmware image based on WLAN device version
  sched/fair: Avoid force newly idle load balance if have iowait task
  msm: msi: add support for Snyopsys MSI IRQ mask/unmask and enable/disable
  msm: msi: add hooks for MSI enable/disable
  mhi: core: always setup/teardown irq during power on/off transitions
  msm: ipa3: add qmi support for clk voting
  msm: ipa: feature wrap MHI Prime panic handler
  msm: ipa: resume MHI Prime pipes for USB resume
  dt-bindings: qpnp-fg-gen4: Add SW ESR control
  power_supply: Add POWER_SUPPLY_PROP_ESR_SW_CONTROL property
  net: qualcomm: rmnet: Avoid unnecessary RSB/RSC SKB allocation
  net: qualcomm: rmnet: Move headers to linear SKB section
  net: qualcomm: rmnet: Segmentation cleanup
  defconfig: msm: Enable f2fs encryption and dm-bow on SM8150
  power: smb1390-psy: Add support for dual charge Pumps
  ARM: dts: msm: Enable low power modes for auto
  ARM: dts: msm: Add IPA device configuration for atoll
  ARM: dts: msm: Add PWM1 and GPIO6 configuration for QCS610
  power_supply: Add CP_ISNS_SLAVE power supply property
  dt-bindings: smb1390-psy: Add property to support dual charge pumps
  msm: kgsl: Remove unused kgsl_dump_fence() function
  cpufreq: schedutil: Fix the incorrect average capacity calculation
  mhi: core: parse MHI controller version during MHI registration
  mhi: cntrl: qcom: temporarily disable MHI suspend
  mhi: core: add support to ring doorbell (DB) in any active MHI state
  mhi: controller: qcom: add a boot monitor
  msm: kgsl: Correct snapshot over-write policy
  power: qpnp-fg-gen4: Use dynamically allocated buffer for SRAM dump
  ARM: dts: msm: Add early ethernet flag
  msm: camera: eeprom: Fix OOB read/write in EEPROM
  ARM: dts: msm: add SDAM peripheral to charger node for PM6150
  clk: qcom: Add HALT_DELAY for camera_ahb_clk for TRINKET
  ARM: dts: msm: Initial dts for sdxprairie mtp dsda platform
  msm: mhi_dev: Add wait when write requests are exhausted
  msm: ais: fix frame based mode
  msm: ipa: Enable deaggregation for MHIP DL pipe
  ARM: dts: msm: Add qfprom node for SA6155 and SA6155P
  power: smb5: add support to handle pulse skip interrupt
  Slimbus: Remove the mutex_unlock which is not necessary
  ashmem: switch to ->read_iter
  ARM: dts: msm: update to memory map v6 for QCS405/QCS403
  ARM: dts: msm: add regulators in Bluetooth node for SA6155p
  Bluetooth: add support for controlling regulator s5a for hastings
  msm: ipa3: Fix to avoid deadlock during USB connect
  defconfig: sa6155: Enable QFPROM driver for SA6155
  msm: npu: Support MSM_NPU_GET_PROP and update DCVS mode
  msm: ais: fix 8x camera work simultaneously issue
  defconfig: Enanle cpufreq_times config to log cpu freq stats.
  power: smb1390/battery: update ILIM configuration logic
  dt-bindings: smb1390-charger-psy: add property to specify output topology
  drm/bridge: Add power management for LT9611
  msm: ipa: Add check for NULL pointer reference
  msm: ais: enable ife line mode
  memcg, oom: move out_of_memory back to the charge path
  msm: vidc: ensure vidc instance is valid before using
  msm: pcie: add support for L1ss timeout
  msm: pcie: add support for client to control link width and speed
  msm: pcie: add LTSSM definitions
  PCI: Add PCI_EXP_LNKCTL2_TLS* macros
  ARM: dts: Add MHI for wlan on GVM
  mhi: cntrl: qcom: store PCIe BAR address in controller structure
  mhi: core: add base address field for MHI controller
  mhi: core: update event ID for bidirectional channels
  ARM: dts: msm: change QUAT/QUIN TDM clk to 24MHz
  drivers: pinctrl: sdmshrike: Add EMAC PPS pinctrl function
  msm: ipa3: Fix to memory allocation failure
  ARM: dts: msm: Apply ratiometric calibration for bat_id on PM6150
  power: smb5-lib: generate power supply event for PD current change
  power_supply: add properties to report parallel connection topology
  sched/core: Improve CPU hotplug latency for rcu_expedited=1 case
  ARM: dts: msm: add snd evt client nodes for sa6155
  ARM: dts: msm: Add LDO3A/SMPS5A regulator nodes for SA6155
  msm: ipa: Enable support for APPS suspend in offload sub-system
  sound: usb: Add return value to debug log
  ARM: dts: Set USB bus voting to nominal on sdxprairie
  defconfig: arm: Enable USB electrical and link test support on sdxprairie
  msm: ipa3: adjust macros to correctly fill arrays
  NFC: Keep VEN gpio always high from boot
  usb: phy: qusb: Enable regulators in cable connect case
  msm: ipa3: Fix to validate check for IP type
  ARM: dts: msm: Add slew rate values for trinket
  net: sockev: avoid races between sockev and socket_close
  Revert "qseecom: fix a request_firmware issue"
  msm: camera_v2: isp: Fix raw stream issue in dual_isp_sync mode
  coresight: hwevent: Add support of empty mux register list
  coresight: funnel: add support for multiple output ports
  msm: ipa3: add support on mhi-prime
  msm: ep_pcie: Update reset initialization
  msm: ipa: fix to disconnect MHI Prime channels upon USB Suspend
  ARM: dts: msm: update PCIe1 PHY settings to v1.09 for sm8150 v2
  msm: kgsl: Add per context fault properties
  ARM: dts: msm: Update MSI interrupts for sa6155
  input: qti-haptics: Clear PLAY bit after all pattern is played
  qcom: soc: add soc info for sdxprairie
  ARM: dts: qcom: add msm-id for sdxprairie
  power: qpnp-fg-gen4: Handle vbatt_low false positives
  ARM: dts: msm: Add device tree for SA8195 virtual machine
  ARM: dts: msm: Update buses configuration for SA8155 VM
  defconfig: msm: Add PIL and SSR support for Quin GVM
  msm: ipa3: IPA HW version check for FnR stats
  msm: camera_v2: Add frame drop notify
  ARM: dts: msm: Update pmem_shared region for TALOS-HQX
  cnss: Fix load wlanhost driver failure with Genoa
  ARM: dts: msm: add SPMI PMIC arbiter device for atoll
  ARM: dts: msm: Add SPS node for atoll
  ARM: dts: msm: Update charger configuration for sdxprairie platforms
  msm: camera_v2: CPP AXI reset at close
  msm: camera: Serialize scm call for security status
  arm64: Fix size of __early_cpu_boot_status
  ARM: dts: msm: add imem regions for SA8155 VM
  dwc3-msm: Map IPA GSI channel doorbell register for different UDC core
  ASoC: core: add snd card power state entry
  msm: ipa: ADPL over USB offload on MHI Prime channels
  cnss2: Add idle shutdown and restart support
  cnss2: Remove redundant checking from fw_ready_hdlr
  ARM: dts: msm: add ion heaps for atoll
  ARM: dts: msm: add wlan converged device tree
  power: qpnp-fg-gen4: Disable ESR fast calibration for debug battery
  ARM: dts: msm: Add ESOC node in ICNSS for sdxprairie-v2 device
  msm: ipa: Add aggr and hdr_ext info to DL MHIP teth pipe config
  esoc: Call the PON and POFF hooks with bit-masked flags
  f2fs: clean up redundant change
  drm/bridge: Add HPD support for LT9611
  msm: ipa: Update IPA SRAM mapping
  msm: kgsl: allocate user_ctxt_record based on preemption feature flag
  ARM: dts: msm: Add MPROC device nodes for atoll
  msm-vidc: add support for rotation caps
  drivers: core: Fix use-after-free and double free on glue_dirs
  msm: ipa: Change iommu debug prints to low priority print
  pwm: pwm-qti-lpg: Fix the order of configuring PWM value
  drm/msm/dsi-staging: Do not bind ext bridge when dsi panel was set
  defconfig: gvm: Enable mhi and cnss2 for gvm
  clk: qcom: change initcall level of virtual clock
  ARM: dts: msm: use gpio pinctrl function for fpc SDMMAGPIE/SM6150
  msm: camera: Add uapi changes for axi bw voting v2
  power_supply: add POWER_SUPPLY_PROP_IRQ_STATUS property
  ARM: dts: msm: Add stub regulators for atoll
  wil6210: support NL_60G_GEN_FW_RESET UNSPEC vendor command
  defconfig: disable DSI parser for sa6155
  msm: ipa: Fix clock enable/disable in wdi3 API's
  msm: camera: sync: Dump fence info in case of fence exhaust
  ARM: dts: msm: update extcon and slaveid for vbus-detect node
  icnss: Add check on msa region
  ARM: dts: msm: update offlineable sizes for trinket
  ARM: dts: msm: Add LT9611 pin configuration for QCS610
  diag: Replace mutex with spinlock for synchronization
  defconfig: Add initial defconfigs for sdxprairie auto
  msm: adsprpc: maintain local copy of rpra offloaded to DSP
  ARM: dts: msm: Add MSM PCIe bus driver device nodes for QCS405
  msm: pcie: Add PCIe controller support for QCS405
  ARM: dts: msm: Add qfprom node for SA8155
  defconfig: sa8155: Enable QFPROM driver for SA8155
  Revert "usb: dwc3: gadget: Fix OTG events when gadget driver isn't loaded"
  defconfig: sm8150: Disable BUILD_ARM64_APPENDED_DTB_IMAGE flag
  arm64: Build kernel image when appended dtb is disabled
  icnss: Monitor external clock for WLAN
  ARM: dts: msm: Enable clk monitor in ICNSS
  msm: ipa3: Fix to register client callback in USB/MHI connect
  usb: f_gsi: Fix typecasting of usb_prot_id
  msm: ipa3: update GSI testbus selector array
  defconfig: sa6155p: Build uncompressed kernel image.
  soc: qcom: smem: Update max processors in soc
  clk: qcom: add round_rate support for virtual clock
  defconfig: msm: enable memdump for quin gvm
  msm: ipa: Add flag to send init req only during bootup & ssr
  ARM: dts: msm: update PCIe PHY settings to v26.09 for sa6155p
  ARM: dts: msm: enable HBM2 mode on sm8150
  msm: ais: Resync to PC372
  Revert "coresight: etm4x: Add support to enable ETMv4.2"
  msm: kgsl: Remove srcu notifier support
  cfg80211: set bss expire time value to that of upstream.
  ARM: dts: msm: Describe reserved-memory regions for Atoll
  usb: f_gsi: Fix GSI enable logic for ADPL only composition
  diag: Reallocate dci buffer with proper required capacity
  ARM: dts: msm: Add qcom,hw-enable-check in tpdm dcc for sdxprairie
  diag: Proper update of non real time mode during mdlog session
  ARM: dts: msm: Modify power of NT36850 panel
  ARM: dts: msm: add wdog for SA8155 VM
  ARM: dts: msm: add restart for SA8155 VM
  power: reset: Add reset support for MSM VM
  ARM: dts: msm: Add LPM nodes for atoll
  clk: qcom: Add sm8150 pcie support for virtual clock
  mm: skip rss check on MM_UNRECLAIMABLE
  defconfig: arm64: QCS405: Enable MSM PCIe bus driver for QCS405
  ARM: dts: msm: Add pcie for sa8195p
  msm: msm_bus: add stub for msm_bus_cl_get_pdata_from_dev
  ARM: dts: msm: enable IO coherency for PCIe1 on sm8150-sdxprairie
  ARM: dts: msm: Add display for SA8195p ADP Star
  msm: kgsl: Snapshot all GMU memory blocks
  msm: kgsl: Snapshot GMU TCM registers separetely
  msm: kgsl: Ensure GMU memory regions don't leak memory
  soc: qcom: smem: Add support for suspend to disk
  power: qpnp-smb5: Handle cc_soc jump in the overcharge WA
  msm: camera: isp: Handle Dual VFE incase of event mismatch
  usb: dwc3: Disable the irq before clearing run_stop bit
  mailbox: apcs-ipc: Add compatible string for atoll
  msm: ais: Mapping IFE selection with userspace
  drm/msm/dsi-staging: add support to set continuous clock through phy
  msm: ipa: Fix not sending any packets in suspend mode
  ext4: fix use-after-free in dx_release()
  msm:camera: avoid remap logic for RDI path
  ARM: dts: msm: Add smmu device for sdmatoll
  ARM: dts: msm: Add emac hw changes in sdmshrike
  msm: camera: icp: Get GDSC control prior to IPE/BPS reset
  msm: kgsl: Access dma_buf_attachment pointer only if its valid
  ARM: dts: msm: Add primary DTS for sdxprairie DSDA platform
  ARM: dts: msm: Add dummy clocks and GDSC support for ATOLL
  msm: ipa3: Assert device if EOB interrupt received on WAN consumer pipe
  power: qpnp-qg/fg-gen4: Report the REAL_CAPACITY
  msm:camera: add trace log support for VFE events
  ARM: dts: msm: adjust S4C voltage
  defconfig: msm: Enable diag for QUIN GVM
  power: power_supply: Add REAL_CAPACITY property
  ARM: dts: msm: Add pcie0 for sa8155 vm
  defconfig: msm: Enable msm pci for QTI Quin GVM
  net: qualcomm: rmnet: Reuse port information when adding header
  soc: qcom: dfc: Fix qmi indication size
  scsi: ufs: UFS device spec version for G4 and low voltage support
  scsi: ufs: enable VCCQ rail for UFS3.0 devices
  defconfig: Enable DDRSS command transmission to AOP on SM8150
  ARM: dts: msm: Add qcom,aop-ddrss-cmds node for SM8150
  soc: qcom: aop_ddrss_cmds: Add support to send DDRSS cmds to AOP
  msm: camera: icp: Protect icp context access at time of pagefault
  ARM: dts: msm: add support for rm69299 visionox amoled panel
  ARM: dts: msm: update thermal zone thresholds for SA8155
  msm: kgsl: Fix race condition while making page as dirty
  cfg80211: indicate support for DH IE update
  cfg80211: indicate support for external authentication in AP mode
  defconfig: msm: Add sdmshrike pinctrl defconfigs for Quin GVM
  msm: ipa: Fix to decouple MHI initialization from uC load
  Add support for newer BT chips
  defconfig: Enable F2FS for SM8150
  diag: Synchronize rpmsg info init variables
  msm: ipa: Notify RPMH on IPA PC from centralized place
  msm: ipa: remove memory allocation for SMEM on APQ platform
  soc: qcom: smem: validate fields of shared structures
  msm: ipa: Enable support for bandwidth voting
  ARM: dts: msm: Add initial device-tree support for SM8150+SDXPRAIRIE V2
  msm: ipa: Add aggr and hdr_ext info to MHIP teth pipe config
  ARM: dts: msm: Add camera sensor and CCI pin definitions for sdmshrike
  Revert "msm: kgsl: Expose HFI get and set value over sysfs"
  cnss2: Expose idle restart/shutdown APIs
  msm: ipa3: Not required to send DMA_TASK with 1B packet to IPA
  defconfig: msm: Enable dynamic minors for sdxprairie perf
  ARM: dts: msm: Update HS PHY init sequence for Trinket
  sched/walt: Use __GFP_NOFAIL flag for curr/prev window CPU arrays
  diag: Add proper check for peripheral value
  Revert "ARM: dts: msm: Mitigate modem during low state of charge in sm8150"
  msm: ipa: fix to match MHI Prime ring allocation size with dma api
  boot_stats: msm: add display and kernel count logs
  ARM: dts: msm: Add LMH QREF regulator voting for SDMSHRIKE
  ARM: dts: msm: Add pmic alarm sensor and VPH BCL mitigation for SDMSHRIKE
  ARM: dts: msm: Add default thermal zone definition for SDMSHRIKE
  ARM: dts: msm: Add QMI cooling devices for SDMSHRIKE
  msm: ipa3: Update the adpl open state if setup odl pipe fail
  coresight: of_get_coresight_platform_data needs both OF and CORESIGHT
  msm: kgsl: Fix preemption fault handling for A6xx GPU
  msm: camera: icp: Release mutex in error
  msm: kgsl: Skip soft reset for A610 GPU
  msm: camera: cdm: Dump registers based on debugfs
  msm: camera: Add validation check for cpu buffers before accessing
  rtc: qpnp-rtc: Add support for suspend to disk
  msm: vidc: Add state check to allow flush command
  msm: vidc: consider pipeline overhead factor for clock calculation
  msm: camera: csiphy: Add multi data rate support
  msm: ep_pcie: Configure PERST Separation
  power: smb1390: disable SMB1390 at shutdown
  msm: camera: csiphy: Add clock dynamic voting
  msm: camera: csiphy: Update write sequence
  power: qpnp-fg: qpnp-qg: fg-alg: Improve code readability of TTF algorithm
  msm: kgsl: Don't attempt the LLM/GLM handshake for a640 targets
  cfg80211/nl80211: Offload OWE processing to user space in AP mode
  nl80211: Allow set/del pmksa operations for AP
  cfg80211: Sync nl80211 commands/feature with upstream
  adsprpc: Allow mapping of buffers with fd value as zero
  ARM: dts: msm: change the pclk limit in sm6150
  Revert "staging: android: ion: fix sys heap pool's gfp_flags"
  sysfs: convert BUG_ON to WARN_ON
  msm: kgsl: Update GMU snapshot section IDs
  mhi: core: do not assert for unhandled event type
  usb: pd: Assign regulator pointer to NULL if get error code
  net: stmmac: Add driver for Qualcomm ethqos
  Linux 4.14.111
  ACPI / video: Extend chassis-type detection with a "Lunch Box" check
  drm/dp/mst: Configure no_stop_bit correctly for remote i2c xfers
  dmaengine: tegra: avoid overflow of byte tracking
  clk: rockchip: fix frac settings of GPLL clock for rk3328
  x86/build: Mark per-CPU symbols as absolute explicitly for LLD
  wlcore: Fix memory leak in case wl12xx_fetch_firmware failure
  selinux: do not override context on context mounts
  x86/build: Specify elf_i386 linker emulation explicitly for i386 objects
  drm/nouveau: Stop using drm_crtc_force_disable
  drm: Auto-set allow_fb_modifiers when given modifiers at plane init
  regulator: act8865: Fix act8600_sudcdc_voltage_ranges setting
  media: s5p-jpeg: Check for fmt_ver_flag when doing fmt enumeration
  netfilter: physdev: relax br_netfilter dependency
  dmaengine: qcom_hidma: initialize tx flags in hidma_prep_dma_*
  dmaengine: qcom_hidma: assign channel cookie correctly
  dmaengine: imx-dma: fix warning comparison of distinct pointer types
  cpu/hotplug: Mute hotplug lockdep during init
  hpet: Fix missing '=' character in the __setup() code of hpet_mmap_enable
  HID: intel-ish: ipc: handle PIMR before ish_wakeup also clear PISR busy_clear bit
  soc/tegra: fuse: Fix illegal free of IO base address
  hwrng: virtio - Avoid repeated init of completion
  media: mt9m111: set initial frame size other than 0x0
  usb: dwc3: gadget: Fix OTG events when gadget driver isn't loaded
  powerpc/pseries: Perform full re-add of CPU for topology update post-migration
  tty: increase the default flip buffer limit to 2*640K
  backlight: pwm_bl: Use gpiod_get_value_cansleep() to get initial state
  cgroup/pids: turn cgroup_subsys->free() into cgroup_subsys->release() to fix the accounting
  bpf: fix missing prototype warnings
  ARM: avoid Cortex-A9 livelock on tight dmb loops
  ARM: 8830/1: NOMMU: Toggle only bits in EXC_RETURN we are really care of
  mt7601u: bump supported EEPROM version
  soc: qcom: gsbi: Fix error handling in gsbi_probe()
  efi/arm/arm64: Allow SetVirtualAddressMap() to be omitted
  ARM: dts: lpc32xx: Remove leading 0x and 0s from bindings notation
  efi/memattr: Don't bail on zero VA if it equals the region's PA
  sched/debug: Initialize sd_sysctl_cpus if !CONFIG_CPUMASK_OFFSTACK
  ASoC: fsl-asoc-card: fix object reference leaks in fsl_asoc_card_probe
  platform/x86: intel_pmc_core: Fix PCH IP sts reading
  e1000e: fix cyclic resets at link up with active tx
  cdrom: Fix race condition in cdrom_sysctl_register
  fbdev: fbmem: fix memory access if logo is bigger than the screen
  iw_cxgb4: fix srqidx leak during connection abort
  genirq: Avoid summation loops for /proc/stat
  bcache: improve sysfs_strtoul_clamp()
  bcache: fix input overflow to sequential_cutoff
  bcache: fix input overflow to cache set sysfs file io_error_halflife
  sched/topology: Fix percpu data types in struct sd_data & struct s_data
  usb: f_fs: Avoid crash due to out-of-scope stack ptr access
  ALSA: PCM: check if ops are defined before suspending PCM
  ARM: 8833/1: Ensure that NEON code always compiles with Clang
  netfilter: conntrack: fix cloned unconfirmed skb->_nfct race in __nf_conntrack_confirm
  kprobes: Prohibit probing on bsearch()
  ACPI / video: Refactor and fix dmi_is_desktop()
  iwlwifi: pcie: fix emergency path
  leds: lp55xx: fix null deref on firmware load failure
  jbd2: fix race when writing superblock
  HID: intel-ish-hid: avoid binding wrong ishtp_cl_device
  vfs: fix preadv64v2 and pwritev64v2 compat syscalls with offset == -1
  media: mtk-jpeg: Correct return type for mem2mem buffer helpers
  media: mx2_emmaprp: Correct return type for mem2mem buffer helpers
  media: s5p-g2d: Correct return type for mem2mem buffer helpers
  media: s5p-jpeg: Correct return type for mem2mem buffer helpers
  media: sh_veu: Correct return type for mem2mem buffer helpers
  SoC: imx-sgtl5000: add missing put_device()
  perf test: Fix failure of 'evsel-tp-sched' test on s390
  scsi: fcoe: make use of fip_mode enum complete
  scsi: megaraid_sas: return error when create DMA pool failed
  efi: cper: Fix possible out-of-bounds access
  cpufreq: acpi-cpufreq: Report if CPU doesn't support boost technologies
  clk: fractional-divider: check parent rate only if flag is set
  IB/mlx4: Increase the timeout for CM cache
  mlxsw: spectrum: Avoid -Wformat-truncation warnings
  e1000e: Fix -Wformat-truncation warnings
  mmc: omap: fix the maximum timeout setting
  powerpc/hugetlb: Handle mmap_min_addr correctly in get_unmapped_area callback
  iommu/io-pgtable-arm-v7s: Only kmemleak_ignore L2 tables
  ARM: 8840/1: use a raw_spinlock_t in unwind
  serial: 8250_pxa: honor the port number from devicetree
  coresight: etm4x: Add support to enable ETMv4.2
  powerpc/xmon: Fix opcode being uninitialized in print_insn_powerpc
  scsi: core: replace GFP_ATOMIC with GFP_KERNEL in scsi_scan.c
  usb: chipidea: Grab the (legacy) USB PHY by phandle first
  crypto: cavium/zip - fix collision with generic cra_driver_name
  crypto: crypto4xx - add missing of_node_put after of_device_is_available
  wil6210: check null pointer in _wil_cfg80211_merge_extra_ies
  PCI/PME: Fix hotplug/sysfs remove deadlock in pcie_pme_remove()
  tools lib traceevent: Fix buffer overflow in arg_eval
  fs: fix guard_bio_eod to check for real EOD errors
  jbd2: fix invalid descriptor block checksum
  cifs: Fix NULL pointer dereference of devname
  dm thin: add sanity checks to thin-pool and external snapshot creation
  cifs: use correct format characters
  page_poison: play nicely with KASAN
  fs/file.c: initialize init_files.resize_wait
  f2fs: do not use mutex lock in atomic context
  ocfs2: fix a panic problem caused by o2cb_ctl
  mm/slab.c: kmemleak no scan alien caches
  mm/vmalloc.c: fix kernel BUG at mm/vmalloc.c:512!
  mm, mempolicy: fix uninit memory access
  mm/page_ext.c: fix an imbalance with kmemleak
  mm/cma.c: cma_declare_contiguous: correct err handling
  perf c2c: Fix c2c report for empty numa node
  iio: adc: fix warning in Qualcomm PM8xxx HK/XOADC driver
  scsi: hisi_sas: Set PHY linkrate when disconnected
  enic: fix build warning without CONFIG_CPUMASK_OFFSTACK
  sysctl: handle overflow for file-max
  include/linux/relay.h: fix percpu annotation in struct rchan
  gpio: gpio-omap: fix level interrupt idling
  net/mlx5: Avoid panic when setting vport mac, getting vport config
  net/mlx5: Avoid panic when setting vport rate
  tracing: kdb: Fix ftdump to not sleep
  f2fs: fix to avoid deadlock in f2fs_read_inline_dir()
  h8300: use cc-cross-prefix instead of hardcoding h8300-unknown-linux-
  CIFS: fix POSIX lock leak and invalid ptr deref
  mm: mempolicy: make mbind() return -EIO when MPOL_MF_STRICT is specified
  tty/serial: atmel: RS485 HD w/DMA: enable RX after TX is stopped
  tty/serial: atmel: Add is_half_duplex helper
  lib/int_sqrt: optimize initial value compute
  ext4: cleanup bh release code in ext4_ind_remove_space()
  arm64: debug: Don't propagate UNKNOWN FAR into si_code for debug signals
  ANDROID: cuttlefish_defconfig: Enable CONFIG_OVERLAY_FS
  ANDROID: cuttlefish: enable CONFIG_NET_SCH_INGRESS=y
  Linux 4.14.110
  vfio: ccw: only free cp on final interrupt
  Revert "USB: core: only clean up what we allocated"
  KVM: x86: Emulate MSR_IA32_ARCH_CAPABILITIES on AMD hosts
  KVM: Reject device ioctls from processes other than the VM's creator
  x86/smp: Enforce CONFIG_HOTPLUG_CPU when SMP=y
  cpu/hotplug: Prevent crash when CPU bringup fails on CONFIG_HOTPLUG_CPU=n
  perf intel-pt: Fix TSC slip
  mm/migrate.c: add missing flush_dcache_page for non-mapped page migrate
  usb: cdc-acm: fix race during wakeup blocking TX traffic
  xhci: Fix port resume done detection for SS ports with LPM enabled
  usb: host: xhci-rcar: Add XHCI_TRUST_TX_LENGTH quirk
  usb: common: Consider only available nodes for dr_mode
  USB: gadget: f_hid: fix deadlock in f_hidg_write()
  usb: mtu3: fix EXTCON dependency
  phy: sun4i-usb: Support set_mode to USB_HOST for non-OTG PHYs
  gpio: adnp: Fix testing wrong value in adnp_gpio_direction_input
  gpio: exar: add a check for the return value of ida_simple_get fails
  drm/vgem: fix use-after-free when drm_gem_handle_create() fails
  fs/proc/proc_sysctl.c: fix NULL pointer dereference in put_links
  Disable kgdboc failed by echo space to /sys/module/kgdboc/parameters/kgdboc
  USB: serial: option: add Olicard 600
  USB: serial: option: add support for Quectel EM12
  USB: serial: option: set driver_info for SIM5218 and compatibles
  USB: serial: mos7720: fix mos_parport refcount imbalance on error path
  USB: serial: ftdi_sio: add additional NovaTech products
  USB: serial: cp210x: add new device id
  serial: sh-sci: Fix setting SCSCR_TIE while transferring data
  serial: max310x: Fix to avoid potential NULL pointer dereference
  staging: vt6655: Fix interrupt race condition on device start up.
  staging: vt6655: Remove vif check from vnt_interrupt
  staging: comedi: ni_mio_common: Fix divide-by-zero for DIO cmdtest
  tty: atmel_serial: fix a potential NULL pointer dereference
  scsi: zfcp: fix scsi_eh host reset with port_forced ERP for non-NPIV FCP devices
  scsi: zfcp: fix rport unblock if deleted SCSI devices on Scsi_Host
  scsi: sd: Quiesce warning if device does not report optimal I/O size
  scsi: sd: Fix a race between closing an sd device and sd I/O
  ocfs2: fix inode bh swapping mixup in ocfs2_reflink_inodes_lock
  fs/open.c: allow opening only regular files during execve()
  kbuild: modversions: Fix relative CRC byte order interpretation
  ALSA: hda/realtek - Add support headset mode for New DELL WYSE NB
  ALSA: hda/realtek - Add support headset mode for DELL WYSE AIO
  ALSA: pcm: Don't suspend stream in unrecoverable PCM state
  ALSA: pcm: Fix possible OOB access in PCM oss plugins
  ALSA: seq: oss: Fix Spectre v1 vulnerability
  ALSA: rawmidi: Fix potential Spectre v1 vulnerability
  net: dsa: qca8k: remove leftover phy accessors
  NFSv4.1 don't free interrupted slot on open
  powerpc: bpf: Fix generation of load/store DW instructions
  ARM: imx6q: cpuidle: fix bug that CPU might not wake up at expected time
  btrfs: raid56: properly unmap parity page in finish_parity_scrub()
  btrfs: remove WARN_ON in log_dir_items
  Btrfs: fix incorrect file size after shrinking truncate and fsync
  powerpc/security: Fix spectre_v2 reporting
  powerpc/fsl: Fix the flush of branch predictor.
  powerpc/fsl: Fixed warning: orphan section `__btb_flush_fixup'
  powerpc/fsl: Update Spectre v2 reporting
  powerpc/fsl: Enable runtime patching if nospectre_v2 boot arg is used
  powerpc/fsl: Flush branch predictor when entering KVM
  powerpc/fsl: Flush the branch predictor at each kernel entry (32 bit)
  powerpc/fsl: Flush the branch predictor at each kernel entry (64bit)
  powerpc/fsl: Add nospectre_v2 command line argument
  powerpc/fsl: Emulate SPRN_BUCSR register
  powerpc/fsl: Fix spectre_v2 mitigations reporting
  powerpc/fsl: Add macro to flush the branch predictor
  powerpc/fsl: Add infrastructure to fixup branch predictor flush
  powerpc/powernv: Query firmware for count cache flush settings
  powerpc/pseries: Query hypervisor for count cache flush settings
  powerpc/64s: Add support for software count cache flush
  powerpc/64s: Add new security feature flags for count cache flush
  powerpc/asm: Add a patch_site macro & helpers for patching instructions
  powerpc/fsl: Sanitize the syscall table for NXP PowerPC 32 bit platforms
  powerpc/fsl: Add barrier_nospec implementation for NXP PowerPC Book3E
  powerpc/64: Make meltdown reporting Book3S 64 specific
  powerpc/64: Call setup_barrier_nospec() from setup_arch()
  powerpc/64: Add CONFIG_PPC_BARRIER_NOSPEC
  powerpc/64: Make stf barrier PPC_BOOK3S_64 specific.
  powerpc/64: Disable the speculation barrier from the command line
  powerpc64s: Show ori31 availability in spectre_v1 sysfs file not v2
  powerpc/64s: Enhance the information in cpu_show_spectre_v1()
  powerpc/64: Use barrier_nospec in syscall entry
  powerpc: Use barrier_nospec in copy_from_user()
  powerpc/64s: Enable barrier_nospec based on firmware settings
  powerpc/64s: Patch barrier_nospec in modules
  powerpc/64s: Add support for ori barrier_nospec patching
  tun: add a missing rcu_read_unlock() in error path
  tun: properly test for IFF_UP
  mac8390: Fix mmio access size probe
  net: aquantia: fix rx checksum offload for UDP/TCP over IPv6
  sctp: get sctphdr by offset in sctp_compute_cksum
  vxlan: Don't call gro_cells_destroy() before device is unregistered
  thunderx: eliminate extra calls to put_page() for pages held for recycling
  thunderx: enable page recycling for non-XDP case
  tcp: do not use ipv6 header for ipv4 flow
  rhashtable: Still do rehash when we get EEXIST
  packets: Always register packet sk in the same order
  net-sysfs: call dev_hold if kobject_init_and_add success
  net: stmmac: fix memory corruption with large MTUs
  net: rose: fix a possible stack overflow
  net/packet: Set __GFP_NOWARN upon allocation in alloc_pg_vec
  net: datagram: fix unbounded loop in __skb_try_recv_datagram()
  mISDN: hfcpci: Test both vendor & device ID for Digium HFC4S
  genetlink: Fix a memory leak on error path
  dccp: do not use ipv6 header for ipv4 flow
  stmmac: copy unicast mac address to MAC registers
  video: fbdev: Set pixclock = 0 in goldfishfb
  Bluetooth: Verify that l2cap_get_conf_opt provides large enough buffer
  Bluetooth: Check L2CAP option sizes returned from l2cap_get_conf_opt
  msm: camera: CSID error handling improvement
  msm: cam: icp: dump IOCONFIG command data in case of io config failure
  ANDROID: revert the rest of ANDROID_PARANOID_NETWORK
  UPSTREAM: virt_wifi: Remove REGULATORY_WIPHY_SELF_MANAGED
  Revert "ANDROID: input: keychord: Add keychord driver"
  Revert "ANDROID: input: keychord: log when keychord triggered"
  Revert "ANDROID: input: keychord: Fix a slab out-of-bounds read."
  Revert "ANDROID: input: keychord: Fix races in keychord_write."
  Revert "ANDROID: input: keychord: Fix for a memory leak in keychord."
  ANDROID: drop CONFIG_INPUT_KEYCHORD from cuttlefish
  UPSTREAM: filemap: add a comment about FAULT_FLAG_RETRY_NOWAIT behavior
  BACKPORT: filemap: drop the mmap_sem for all blocking operations
  BACKPORT: filemap: kill page_cache_read usage in filemap_fault
  UPSTREAM: filemap: pass vm_fault to the mmap ra helpers
  ANDROID: Remove Android paranoid check for socket creation
  BACKPORT: mm/debug.c: provide useful debugging information for VM_BUG
  UPSTREAM: x86/alternative: Print unadorned pointers
  UPSTREAM: trace_uprobe: Display correct offset in uprobe_events
  UPSTREAM: usercopy: Remove pointer from overflow report
  UPSTREAM: Do not hash userspace addresses in fault handlers
  UPSTREAM: mm/slab.c: do not hash pointers when debugging slab
  UPSTREAM: kasan: use %px to print addresses instead of %p
  UPSTREAM: vsprintf: add printk specifier %px
  UPSTREAM: printk: hash addresses printed with %p
  UPSTREAM: vsprintf: refactor %pK code out of pointer()
  UPSTREAM: docs: correct documentation for %pK
  ANDROID: binder: remove extra declaration left after backport
  FROMGIT: binder: fix BUG_ON found by selinux-testsuite
  Linux 4.14.109
  ath10k: avoid possible string overflow
  power: supply: charger-manager: Fix incorrect return value
  pwm-backlight: Enable/disable the PWM before/after LCD enable toggle.
  sched/cpufreq/schedutil: Fix error path mutex unlock
  rtc: Fix overflow when converting time64_t to rtc_time
  PCI: endpoint: Use EPC's device in dma_alloc_coherent()/dma_free_coherent()
  PCI: designware-ep: Read-only registers need DBI_RO_WR_EN to be writable
  PCI: designware-ep: dw_pcie_ep_set_msi() should only set MMC bits
  scsi: ufs: fix wrong command type of UTRD for UFSHCI v2.1
  USB: core: only clean up what we allocated
  lib/int_sqrt: optimize small argument
  ALSA: hda - Enforces runtime_resume after S3 and S4 for each codec
  ALSA: hda - Record the current power state before suspend/resume calls
  locking/lockdep: Add debug_locks check in __lock_downgrade()
  x86/unwind: Add hardcoded ORC entry for NULL
  x86/unwind: Handle NULL pointer calls better in frame unwinder
  netfilter: ebtables: remove BUGPRINT messages
  drm: Reorder set_property_atomic to avoid returning with an active ww_ctx
  Bluetooth: hci_ldisc: Postpone HCI_UART_PROTO_READY bit set in hci_uart_set_proto()
  Bluetooth: hci_ldisc: Initialize hci_dev before open()
  Bluetooth: Fix decrementing reference count twice in releasing socket
  Bluetooth: hci_uart: Check if socket buffer is ERR_PTR in h4_recv_buf()
  media: v4l2-ctrls.c/uvc: zero v4l2_event
  ext4: brelse all indirect buffer in ext4_ind_remove_space()
  ext4: fix data corruption caused by unaligned direct AIO
  ext4: fix NULL pointer dereference while journal is aborted
  ALSA: x86: Fix runtime PM for hdmi-lpe-audio
  objtool: Move objtool_file struct off the stack
  perf probe: Fix getting the kernel map
  futex: Ensure that futex address is aligned in handle_futex_death()
  scsi: ibmvscsi: Fix empty event pool access during host removal
  scsi: ibmvscsi: Protect ibmvscsi_head from concurrent modificaiton
  MIPS: Fix kernel crash for R6 in jump label branch function
  MIPS: Ensure ELF appended dtb is relocated
  mips: loongson64: lemote-2f: Add IRQF_NO_SUSPEND to "cascade" irqaction.
  udf: Fix crash on IO error during truncate
  libceph: wait for latest osdmap in ceph_monc_blacklist_add()
  iommu/amd: fix sg->dma_address for sg->offset bigger than PAGE_SIZE
  drm/vmwgfx: Don't double-free the mode stored in par->set_mode
  mmc: pxamci: fix enum type confusion
  ANDROID: dm-bow: Fix 32 bit compile errors
  ANDROID: Add dm-bow to cuttlefish configuration
  UPSTREAM: binder: fix handling of misaligned binder object
  UPSTREAM: binder: fix sparse issue in binder_alloc_selftest.c
  BACKPORT: binder: use userspace pointer as base of buffer space
  UPSTREAM: binder: fix kerneldoc header for struct binder_buffer
  BACKPORT: binder: remove user_buffer_offset
  UPSTREAM: binder: remove kernel vm_area for buffer space
  UPSTREAM: binder: avoid kernel vm_area for buffer fixups
  BACKPORT: binder: add function to copy binder object from buffer
  BACKPORT: binder: add functions to copy to/from binder buffers
  UPSTREAM: binder: create userspace-to-binder-buffer copy function
  ANDROID: dm-bow: backport to 4.14
  ANDROID: dm-bow: Add dm-bow feature
  Linux 4.14.108
  s390/setup: fix boot crash for machine without EDAT-1
  KVM: nVMX: Ignore limit checks on VMX instructions using flat segments
  KVM: nVMX: Apply addr size mask to effective address for VMX instructions
  KVM: nVMX: Sign extend displacements of VMX instr's mem operands
  KVM: x86/mmu: Do not cache MMIO accesses while memslots are in flux
  KVM: x86/mmu: Detect MMIO generation wrap in any address space
  KVM: Call kvm_arch_memslots_updated() before updating memslots
  drm/radeon/evergreen_cs: fix missing break in switch statement
  media: imx: csi: Stop upstream before disabling IDMA channel
  media: imx: csi: Disable CSI immediately after last EOF
  media: vimc: Add vimc-streamer for stream control
  media: uvcvideo: Avoid NULL pointer dereference at the end of streaming
  media: imx: prpencvf: Stop upstream before disabling IDMA channel
  rcu: Do RCU GP kthread self-wakeup from softirq and interrupt
  tpm: Unify the send callback behaviour
  tpm/tpm_crb: Avoid unaligned reads in crb_recv()
  md: Fix failed allocation of md_register_thread
  perf intel-pt: Fix divide by zero when TSC is not available
  perf intel-pt: Fix overlap calculation for padding
  perf auxtrace: Define auxtrace record alignment
  perf intel-pt: Fix CYC timestamp calculation after OVF
  x86/unwind/orc: Fix ORC unwind table alignment
  bcache: never writeback a discard operation
  PM / wakeup: Rework wakeup source timer cancellation
  NFSv4.1: Reinitialise sequence results before retransmitting a request
  nfsd: fix wrong check in write_v4_end_grace()
  nfsd: fix memory corruption caused by readdir
  NFS: Don't recoalesce on error in nfs_pageio_complete_mirror()
  NFS: Fix an I/O request leakage in nfs_do_recoalesce
  NFS: Fix I/O request leakages
  cpcap-charger: generate events for userspace
  dm integrity: limit the rate of error messages
  dm: fix to_sector() for 32bit
  arm64: KVM: Fix architecturally invalid reset value for FPEXC32_EL2
  arm64: debug: Ensure debug handlers check triggering exception level
  arm64: Fix HCR.TGE status for NMI contexts
  ARM: s3c24xx: Fix boolean expressions in osiris_dvs_notify
  powerpc/traps: Fix the message printed when stack overflows
  powerpc/traps: fix recoverability of machine check handling on book3s/32
  powerpc/hugetlb: Don't do runtime allocation of 16G pages in LPAR configuration
  powerpc/ptrace: Simplify vr_get/set() to avoid GCC warning
  powerpc: Fix 32-bit KVM-PR lockup and host crash with MacOS guest
  powerpc/83xx: Also save/restore SPRG4-7 during suspend
  powerpc/powernv: Make opal log only readable by root
  powerpc/wii: properly disable use of BATs when requested.
  powerpc/32: Clear on-stack exception marker upon exception return
  security/selinux: fix SECURITY_LSM_NATIVE_LABELS on reused superblock
  jbd2: fix compile warning when using JBUFFER_TRACE
  jbd2: clear dirty flag when revoking a buffer from an older transaction
  serial: 8250_pci: Have ACCES cards that use the four port Pericom PI7C9X7954 chip use the pci_pericom_setup()
  serial: 8250_pci: Fix number of ports for ACCES serial cards
  serial: 8250_of: assume reg-shift of 2 for mrvl,mmp-uart
  serial: uartps: Fix stuck ISR if RX disabled with non-empty FIFO
  drm/i915: Relax mmap VMA check
  crypto: arm64/aes-neonbs - fix returning final keystream block
  i2c: tegra: fix maximum transfer size
  parport_pc: fix find_superio io compare code, should use equal test.
  intel_th: Don't reference unassigned outputs
  device property: Fix the length used in PROPERTY_ENTRY_STRING()
  kernel/sysctl.c: add missing range check in do_proc_dointvec_minmax_conv
  mm/vmalloc: fix size check for remap_vmalloc_range_partial()
  mm: hwpoison: fix thp split handing in soft_offline_in_use_page()
  nfit: acpi_nfit_ctl(): Check out_obj->type in the right place
  usb: chipidea: tegra: Fix missed ci_hdrc_remove_device()
  clk: ingenic: Fix doc of ingenic_cgu_div_info
  clk: ingenic: Fix round_rate misbehaving with non-integer dividers
  clk: clk-twl6040: Fix imprecise external abort for pdmclk
  clk: uniphier: Fix update register for CPU-gear
  ext2: Fix underflow in ext2_max_size()
  cxl: Wrap iterations over afu slices inside 'afu_list_lock'
  IB/hfi1: Close race condition on user context disable and close
  ext4: fix crash during online resizing
  ext4: add mask of ext4 flags to swap
  cpufreq: pxa2xx: remove incorrect __init annotation
  cpufreq: tegra124: add missing of_node_put()
  x86/kprobes: Prohibit probing on optprobe template code
  irqchip/gic-v3-its: Avoid parsing _indirect_ twice for Device table
  libertas_tf: don't set URB_ZERO_PACKET on IN USB transfer
  crypto: pcbc - remove bogus memcpy()s with src == dest
  Btrfs: fix corruption reading shared and compressed extents after hole punching
  btrfs: ensure that a DUP or RAID1 block group has exactly two stripes
  Btrfs: setup a nofs context for memory allocation at __btrfs_set_acl
  m68k: Add -ffreestanding to CFLAGS
  splice: don't merge into linked buffers
  fs/devpts: always delete dcache dentry-s in dput()
  scsi: target/iscsi: Avoid iscsit_release_commands_from_conn() deadlock
  scsi: sd: Optimal I/O size should be a multiple of physical block size
  scsi: aacraid: Fix performance issue on logical drives
  scsi: virtio_scsi: don't send sc payload with tmfs
  s390/virtio: handle find on invalid queue gracefully
  s390/setup: fix early warning messages
  clocksource/drivers/exynos_mct: Clear timer interrupt when shutdown
  clocksource/drivers/exynos_mct: Move one-shot check from tick clear to ISR
  regulator: s2mpa01: Fix step values for some LDOs
  regulator: max77620: Initialize values for DT properties
  regulator: s2mps11: Fix steps for buck7, buck8 and LDO35
  spi: pxa2xx: Setup maximum supported DMA transfer length
  spi: ti-qspi: Fix mmap read when more than one CS in use
  mmc: sdhci-esdhc-imx: fix HS400 timing issue
  ACPI / device_sysfs: Avoid OF modalias creation for removed device
  xen: fix dom0 boot on huge systems
  tracing: Do not free iter->trace in fail path of tracing_open_pipe()
  tracing: Use strncpy instead of memcpy for string keys in hist triggers
  CIFS: Fix read after write for files with read caching
  CIFS: Do not reset lease state to NONE on lease break
  crypto: arm64/aes-ccm - fix bugs in non-NEON fallback routine
  crypto: arm64/aes-ccm - fix logical bug in AAD MAC handling
  crypto: testmgr - skip crc32c context test for ahash algorithms
  crypto: hash - set CRYPTO_TFM_NEED_KEY if ->setkey() fails
  crypto: arm64/crct10dif - revert to C code for short inputs
  crypto: arm/crct10dif - revert to C code for short inputs
  fix cgroup_do_mount() handling of failure exits
  libnvdimm: Fix altmap reservation size calculation
  libnvdimm/pmem: Honor force_raw for legacy pmem regions
  libnvdimm, pfn: Fix over-trim in trim_pfn_device()
  libnvdimm/label: Clear 'updating' flag after label-set update
  stm class: Prevent division by zero
  media: videobuf2-v4l2: drop WARN_ON in vb2_warn_zero_bytesused()
  tmpfs: fix uninitialized return value in shmem_link
  net: set static variable an initial value in atl2_probe()
  nfp: bpf: fix ALU32 high bits clearance bug
  nfp: bpf: fix code-gen bug on BPF_ALU | BPF_XOR | BPF_K
  net: thunderx: make CFG_DONE message to run through generic send-ack sequence
  mac80211_hwsim: propagate genlmsg_reply return code
  phonet: fix building with clang
  ARCv2: support manual regfile save on interrupts
  ARC: uacces: remove lp_start, lp_end from clobber list
  ARCv2: lib: memcpy: fix doing prefetchw outside of buffer
  ixgbe: fix older devices that do not support IXGBE_MRQC_L3L4TXSWEN
  tmpfs: fix link accounting when a tmpfile is linked in
  net: marvell: mvneta: fix DMA debug warning
  arm64: Relax GIC version check during early boot
  qed: Fix iWARP syn packet mac address validation.
  ASoC: topology: free created components in tplg load error
  mailbox: bcm-flexrm-mailbox: Fix FlexRM ring flush timeout issue
  net: mv643xx_eth: disable clk on error path in mv643xx_eth_shared_probe()
  qmi_wwan: apply SET_DTR quirk to Sierra WP7607
  pinctrl: meson: meson8b: fix the sdxc_a data 1..3 pins
  net: systemport: Fix reception of BPDUs
  scsi: libiscsi: Fix race between iscsi_xmit_task and iscsi_complete_task
  keys: Fix dependency loop between construction record and auth key
  assoc_array: Fix shortcut creation
  af_key: unconditionally clone on broadcast
  ARM: 8824/1: fix a migrating irq bug when hotplug cpu
  esp: Skip TX bytes accounting when sending from a request socket
  clk: sunxi: A31: Fix wrong AHB gate number
  clk: sunxi-ng: v3s: Fix TCON reset de-assert bit
  Input: st-keyscan - fix potential zalloc NULL dereference
  auxdisplay: ht16k33: fix potential user-after-free on module unload
  i2c: bcm2835: Clear current buffer pointers and counts after a transfer
  i2c: cadence: Fix the hold bit setting
  net: hns: Fix object reference leaks in hns_dsaf_roce_reset()
  mm: page_alloc: fix ref bias in page_frag_alloc() for 1-byte allocs
  Revert "mm: use early_pfn_to_nid in page_ext_init"
  mm/gup: fix gup_pmd_range() for dax
  NFS: Don't use page_file_mapping after removing the page
  floppy: check_events callback should not return a negative number
  ipvs: fix dependency on nf_defrag_ipv6
  mac80211: Fix Tx aggregation session tear down with ITXQs
  Input: matrix_keypad - use flush_delayed_work()
  Input: ps2-gpio - flush TX work when closing port
  Input: cap11xx - switch to using set_brightness_blocking()
  ARM: OMAP2+: fix lack of timer interrupts on CPU1 after hotplug
  KVM: arm/arm64: Reset the VCPU without preemption and vcpu state loaded
  ASoC: rsnd: fixup rsnd_ssi_master_clk_start() user count check
  ASoC: dapm: fix out-of-bounds accesses to DAPM lookup tables
  ARM: OMAP2+: Variable "reg" in function omap4_dsi_mux_pads() could be uninitialized
  Input: pwm-vibra - stop regulator after disabling pwm, not before
  Input: pwm-vibra - prevent unbalanced regulator
  s390/dasd: fix using offset into zero size array error
  gpu: ipu-v3: Fix CSI offsets for imx53
  drm/imx: imx-ldb: add missing of_node_puts
  gpu: ipu-v3: Fix i.MX51 CSI control registers offset
  drm/imx: ignore plane updates on disabled crtcs
  crypto: rockchip - update new iv to device in multiple operations
  crypto: rockchip - fix scatterlist nents error
  crypto: ahash - fix another early termination in hash walk
  crypto: caam - fixed handling of sg list
  stm class: Fix an endless loop in channel allocation
  iio: adc: exynos-adc: Fix NULL pointer exception on unbind
  ASoC: fsl_esai: fix register setting issue in RIGHT_J mode
  9p/net: fix memory leak in p9_client_create
  9p: use inode->i_lock to protect i_size_write() under 32-bit
  FROMLIST: psi: introduce psi monitor
  FROMLIST: refactor header includes to allow kthread.h inclusion in psi_types.h
  FROMLIST: psi: track changed states
  FROMLIST: psi: split update_stats into parts
  FROMLIST: psi: rename psi fields in preparation for psi trigger addition
  FROMLIST: psi: make psi_enable static
  FROMLIST: psi: introduce state_mask to represent stalled psi states
  ANDROID: cuttlefish_defconfig: Enable CONFIG_INPUT_MOUSEDEV
  ANDROID: cuttlefish_defconfig: Enable CONFIG_PSI
  BACKPORT: kernel: cgroup: add poll file operation
  BACKPORT: fs: kernfs: add poll file operation
  UPSTREAM: psi: avoid divide-by-zero crash inside virtual machines
  UPSTREAM: psi: clarify the Kconfig text for the default-disable option
  UPSTREAM: psi: fix aggregation idle shut-off
  UPSTREAM: psi: fix reference to kernel commandline enable
  UPSTREAM: psi: make disabling/enabling easier for vendor kernels
  UPSTREAM: kernel/sched/psi.c: simplify cgroup_move_task()
  BACKPORT: psi: cgroup support
  UPSTREAM: psi: pressure stall information for CPU, memory, and IO
  UPSTREAM: sched: introduce this_rq_lock_irq()
  UPSTREAM: sched: sched.h: make rq locking and clock functions available in stats.h
  UPSTREAM: sched: loadavg: make calc_load_n() public
  BACKPORT: sched: loadavg: consolidate LOAD_INT, LOAD_FRAC, CALC_LOAD
  UPSTREAM: delayacct: track delays from thrashing cache pages
  UPSTREAM: mm: workingset: tell cache transitions from workingset thrashing
  sched/fair: fix energy compute when a cluster is only a cpu core in multi-cluster system
  Linux 4.14.107
  vhost/vsock: fix vhost vsock cid hashing inconsistent
  It's wrong to add len to sector_nr in raid10 reshape twice
  perf/x86/intel: Make dev_attr_allow_tsx_force_abort static
  perf/x86/intel: Fix memory corruption
  ALSA: firewire-motu: fix construction of PCM frame for capture direction
  ALSA: bebob: use more identical mod_alias for Saffire Pro 10 I/O against Liquid Saffire 56
  perf/x86: Fixup typo in stub functions
  ipvlan: disallow userns cap_net_admin to change global mode/flags
  missing barriers in some of unix_sock ->addr and ->path accesses
  bonding: fix PACKET_ORIGDEV regression
  net: Set rtm_table to RT_TABLE_COMPAT for ipv6 for tables > 255
  mdio_bus: Fix use-after-free on device_register fails
  net/x25: fix a race in x25_bind()
  net/mlx4_core: Fix qp mtt size calculation
  net/mlx4_core: Fix locking in SRIOV mode when switching between events and polling
  net/mlx4_core: Fix reset flow when in command polling mode
  vxlan: test dev->flags & IFF_UP before calling gro_cells_receive()
  vxlan: Fix GRO cells race condition between receive and link delete
  tcp: handle inet_csk_reqsk_queue_add() failures
  tcp: Don't access TCP_SKB_CB before initializing it
  rxrpc: Fix client call queueing, waiting for channel
  route: set the deleted fnhe fnhe_daddr to 0 in ip_del_fnhe to fix a race
  ravb: Decrease TxFIFO depth of Q3 and Q2 to one
  pptp: dst_release sk_dst_cache in pptp_sock_destruct
  net/x25: reset state in x25_connect()
  net/x25: fix use-after-free in x25_device_event()
  net: sit: fix UBSAN Undefined behaviour in check_6rd
  net/hsr: fix possible crash in add_timer()
  net: hsr: fix memory leak in hsr_dev_finalize()
  l2tp: fix infoleak in l2tp_ip6_recvmsg()
  ipv4/route: fail early when inet dev is missing
  gro_cells: make sure device is up in gro_cells_receive()
  perf tools: Fix compile error with libunwind x86
  ACPICA: Reference Counts: increase max to 0x4000 for large servers
  ANDROID: cpufreq: times: don't copy invalid freqs from freq table
  f2fs: set pin_file under CAP_SYS_ADMIN
  f2fs: fix to avoid deadlock in f2fs_read_inline_dir()
  f2fs: fix to adapt small inline xattr space in __find_inline_xattr()
  f2fs: fix to do sanity check with inode.i_inline_xattr_size
  f2fs: give some messages for inline_xattr_size
  f2fs: don't trigger read IO for beyond EOF page
  f2fs: fix to add refcount once page is tagged PG_private
  f2fs: remove wrong comment in f2fs_invalidate_page()
  f2fs: fix to use kvfree instead of kzfree
  f2fs: print more parameters in trace_f2fs_map_blocks
  f2fs: trace f2fs_ioc_shutdown
  f2fs: fix to avoid deadlock of atomic file operations
  f2fs: fix to dirty inode for i_mode recovery
  f2fs: give random value to i_generation
  f2fs: no need to take page lock in readdir
  f2fs: fix to update iostat correctly in IPU path
  f2fs: fix encrypted page memory leak
  f2fs: make fault injection covering __submit_flush_wait()
  f2fs: fix to retry fill_super only if recovery failed
  f2fs: silence VM_WARN_ON_ONCE in mempool_alloc
  f2fs: correct spelling mistake
  f2fs: fix wrong #endif
  f2fs: don't clear CP_QUOTA_NEED_FSCK_FLAG
  f2fs: don't allow negative ->write_io_size_bits
  f2fs: fix to check inline_xattr_size boundary correctly
  Linux 4.14.106
  perf/x86/intel: Implement support for TSX Force Abort
  x86: Add TSX Force Abort CPUID/MSR
  perf/x86/intel: Generalize dynamic constraint creation
  perf/x86/intel: Make cpuc allocations consistent
  driver core: Postpone DMA tear-down until after devres release
  ath9k: Avoid OF no-EEPROM quirks without qca,no-eeprom
  gfs2: Fix missed wakeups in find_insert_glock
  ARM: 8781/1: Fix Thumb-2 syscall return for binutils 2.29+
  drm: disable uncached DMA optimization for ARM and arm64
  ARM: dts: exynos: Add minimal clkout parameters to Exynos3250 PMU
  ARM: dts: exynos: Fix pinctrl definition for eMMC RTSN line on Odroid X2/U3
  arm64: dts: hikey: Give wifi some time after power-on
  scsi: aacraid: Fix missing break in switch statement
  iscsi_ibft: Fix missing break in switch statement
  Input: elan_i2c - add id for touchpad found in Lenovo s21e-20
  Input: wacom_serial4 - add support for Wacom ArtPad II tablet
  qed: Consider TX tcs while deriving the max num_queues for PF.
  qed: Fix EQ full firmware assert.
  fs: ratelimit __find_get_block_slow() failure message.
  i2c: omap: Use noirq system sleep pm ops to idle device for suspend
  MIPS: Remove function size check in get_frame_info()
  perf trace: Support multiple "vfs_getname" probes
  perf symbols: Filter out hidden symbols from labels
  s390/qeth: fix use-after-free in error path
  netfilter: nf_nat: skip nat clash resolution for same-origin entries
  selftests: netfilter: add simple masq/redirect test cases
  selftests: netfilter: fix config fragment CONFIG_NF_TABLES_INET
  dmaengine: dmatest: Abort test in case of mapping error
  vsock/virtio: reset connected sockets on device removal
  vsock/virtio: fix kernel panic after device hot-unplug
  dmaengine: at_xdmac: Fix wrongfull report of a channel as in use
  drm/sun4i: tcon: Prepare and enable TCON channel 0 clock at init
  bpf: fix lockdep false positive in percpu_freelist
  bpf, selftests: fix handling of sparse CPU allocations
  relay: check return of create_buf_file() properly
  irqchip/gic-v3-its: Fix ITT_entry_size accessor
  net: stmmac: Disable EEE mode earlier in XMIT callback
  net: stmmac: Send TSO packets always from Queue 0
  net: stmmac: Fallback to Platform Data clock in Watchdog conversion
  irqchip/mmp: Only touch the PJ4 IRQ & FIQ bits on enable/disable
  usb: phy: fix link errors
  DTS: CI20: Fix bugs in ci20's device tree.
  arm64: dts: add msm8996 compatible to gicv3
  ARM: pxa: ssp: unneeded to free devm_ allocated data
  bpf: sock recvbuff must be limited by rmem_max in bpf_setsockopt()
  soc: fsl: qbman: avoid race in clearing QMan interrupt
  arm64: dts: renesas: r8a7796: Enable DMA for SCIF2
  ARM: dts: omap4-droid4: Fix typo in cpcap IRQ flags
  autofs: fix error return in autofs_fill_super()
  autofs: drop dentry reference only when it is never used
  fs/drop_caches.c: avoid softlockups in drop_pagecache_sb()
  lib/test_kmod.c: potential double free in error handling
  mm, memory_hotplug: test_pages_in_a_zone do not pass the end of zone
  mm, memory_hotplug: is_mem_section_removable do not pass the end of a zone
  x86_64: increase stack size for KASAN_EXTRA
  x86/kexec: Don't setup EFI info if EFI runtime is not enabled
  apparmor: Fix aa_label_build() error handling for failed merges
  arm64: kprobe: Always blacklist the KVM world-switch code
  x86/microcode/amd: Don't falsely trick the late loading mechanism
  cifs: fix computation for MAX_SMB2_HDR_SIZE
  platform/x86: Fix unmet dependency warning for SAMSUNG_Q10
  scsi: 53c700: pass correct "dev" to dma_alloc_attrs()
  scsi: libfc: free skb when receiving invalid flogi resp
  qed: Fix stack out of bounds bug
  qed: Fix system crash in ll2 xmit
  qed: Fix VF probe failure while FLR
  qed: Fix LACP pdu drops for VFs
  qed: Fix bug in tx promiscuous mode settings
  nfs: Fix NULL pointer dereference of dev_name
  selftests: timers: use LDLIBS instead of LDFLAGS
  gpio: vf610: Mask all GPIO interrupts
  netfilter: ebtables: compat: un-break 32bit setsockopt when no rules are present
  net: stmmac: dwmac-rk: fix error handling in rk_gmac_powerup()
  net: hns: Fix wrong read accesses via Clause 45 MDIO protocol
  net: hns: Restart autoneg need return failed when autoneg off
  net: hns: Fix for missing of_node_put() after of_parse_phandle()
  net: altera_tse: fix msgdma_tx_completion on non-zero fill_level case
  xtensa: SMP: limit number of possible CPUs by NR_CPUS
  xtensa: SMP: mark each possible CPU as present
  xtensa: smp_lx200_defconfig: fix vectors clash
  xtensa: SMP: fix secondary CPU initialization
  selftests: cpu-hotplug: fix case where CPUs offline > CPUs present
  xtensa: SMP: fix ccount_timer_shutdown
  iommu/amd: Fix IOMMU page flush when detach device from a domain
  ipvs: Fix signed integer overflow when setsockopt timeout
  iommu/amd: Unmap all mapped pages in error path of map_sg
  iommu/amd: Call free_iova_fast with pfn in map_sg
  IB/{hfi1, qib}: Fix WC.byte_len calculation for UD_SEND_WITH_IMM
  perf tools: Handle TOPOLOGY headers with no CPU
  perf core: Fix perf_proc_update_handler() bug
  vti4: Fix a ipip packet processing bug in 'IPCOMP' virtual tunnel
  media: uvcvideo: Fix 'type' check leading to overflow
  scsi: core: reset host byte in DID_NEXUS_FAILURE case
  exec: Fix mem leak in kernel_read_file
  Bluetooth: Fix locking in bt_accept_enqueue() for BH context
  xtensa: fix get_wchan
  hugetlbfs: fix races and page leaks during migration
  MIPS: irq: Allocate accurate order pages for irq stack
  applicom: Fix potential Spectre v1 vulnerabilities
  x86/CPU/AMD: Set the CPB bit unconditionally on F17h
  net: dsa: mv88e6xxx: Fix statistics on mv88e6161
  net: phy: Micrel KSZ8061: link failure after cable connect
  tun: remove unnecessary memory barrier
  tun: fix blocking read
  mpls: Return error for RTA_GATEWAY attribute
  ipv6: Return error for RTA_VIA attribute
  ipv4: Return error for RTA_VIA attribute
  net: avoid use IPCB in cipso_v4_error
  net: Add __icmp_send helper.
  xen-netback: fix occasional leak of grant ref mappings under memory pressure
  xen-netback: don't populate the hash cache on XenBus disconnect
  net: socket: set sock->sk to NULL after calling proto_ops::release()
  net: sit: fix memory leak in sit_init_net()
  net: phy: phylink: fix uninitialized variable in phylink_get_mac_state
  net: nfc: Fix NULL dereference on nfc_llcp_build_tlv fails
  net: netem: fix skb length BUG_ON in __skb_to_sgvec
  netlabel: fix out-of-bounds memory accesses
  net: dsa: mv88e6xxx: Fix u64 statistics
  hv_netvsc: Fix IP header checksum for coalesced packets
  geneve: correctly handle ipv6.disable module parameter
  bnxt_en: Drop oversize TX packets to prevent errors.
  tipc: fix RDM/DGRAM connect() regression
  team: Free BPF filter when unregistering netdev
  sky2: Disable MSI on Dell Inspiron 1545 and Gateway P-79
  net-sysfs: Fix mem leak in netdev_register_kobject
  net: dsa: mv88e6xxx: handle unknown duplex modes gracefully in mv88e6xxx_port_set_duplex
  ip6mr: Do not call __IP6_INC_STATS() from preemptible context
  staging: android: ion: fix sys heap pool's gfp_flags
  staging: wilc1000: fix to set correct value for 'vif_num'
  staging: comedi: ni_660x: fix missing break in switch statement
  USB: serial: ftdi_sio: add ID for Hjelmslund Electronics USB485
  USB: serial: cp210x: add ID for Ingenico 3070
  USB: serial: option: add Telit ME910 ECM composition
  cpufreq: Use struct kobj_attribute instead of struct global_attr
  ANDROID: cuttlefish: enable CONFIG_INET_UDP_DIAG=y
  ANDROID: cuttlefish: enable CONFIG_USB_RTL8152=y
  Revert "f2fs: fix to avoid deadlock of atomic file operations"
  Revert "f2fs: fix to check inline_xattr_size boundary correctly"
  adreno_tz: Remove partner devfreq management
  msm: kgsl: Do GPU bus governor management
  PM / devfreq: Make update_devfreq() public
  f2fs: do not use mutex lock in atomic context
  f2fs: fix potential data inconsistence of checkpoint
  f2fs: fix to avoid deadlock of atomic file operations
  f2fs: fix to check inline_xattr_size boundary correctly
  f2fs: jump to label 'free_node_inode' when failing from d_make_root()
  f2fs: fix to document inline_xattr_size option
  f2fs: fix to data block override node segment by mistake
  f2fs: fix typos in code comments
  f2fs: use xattr_prefix to wrap up
  f2fs: sync filesystem after roll-forward recovery
  f2fs: flush quota blocks after turnning it off
  f2fs: avoid null pointer exception in dcc_info
  f2fs: don't wake up too frequently, if there is lots of IOs
  f2fs: try to keep CP_TRIMMED_FLAG after successful umount
  f2fs: add quick mode of checkpoint=disable for QA
  f2fs: run discard jobs when put_super
  f2fs: fix to set sbi dirty correctly
  f2fs: fix to initialize variable to avoid UBSAN/smatch warning
  f2fs: UBSAN: set boolean value iostat_enable correctly
  f2fs: add brackets for macros
  f2fs: check if file namelen exceeds max value
  f2fs: fix to trigger fsck if dirent.name_len is zero
  f2fs: no need to check return value of debugfs_create functions
  f2fs: export FS_NOCOW_FL flag to user
  f2fs: check inject_rate validity during configuring
  f2fs: remove set but not used variable 'err'
  f2fs: fix compile warnings: 'struct *' declared inside parameter list
  f2fs: change error code to -ENOMEM from -EINVAL
  selinux: stop flooding the log buffer

Change-Id: Icc9b99b607f6cf4a0bda165e5416a5ec5712dd64
Signed-off-by: default avatarAbhijith Desai <desaia@codeaurora.org>
parents c833fd79 2258de68
Loading
Loading
Loading
Loading
+7 −0
Original line number Diff line number Diff line
@@ -86,6 +86,13 @@ Description:
		The unit size is one block, now only support configuring in range
		of [1, 512].

What:          /sys/fs/f2fs/<disk>/umount_discard_timeout
Date:          January 2019
Contact:       "Jaegeuk Kim" <jaegeuk@kernel.org>
Description:
		Set timeout to issue discard commands during umount.
		Default: 5 secs

What:		/sys/fs/f2fs/<disk>/max_victim_search
Date:		January 2014
Contact:	"Jaegeuk Kim" <jaegeuk.kim@samsung.com>
+180 −0
Original line number Diff line number Diff line
================================
PSI - Pressure Stall Information
================================

:Date: April, 2018
:Author: Johannes Weiner <hannes@cmpxchg.org>

When CPU, memory or IO devices are contended, workloads experience
latency spikes, throughput losses, and run the risk of OOM kills.

Without an accurate measure of such contention, users are forced to
either play it safe and under-utilize their hardware resources, or
roll the dice and frequently suffer the disruptions resulting from
excessive overcommit.

The psi feature identifies and quantifies the disruptions caused by
such resource crunches and the time impact it has on complex workloads
or even entire systems.

Having an accurate measure of productivity losses caused by resource
scarcity aids users in sizing workloads to hardware--or provisioning
hardware according to workload demand.

As psi aggregates this information in realtime, systems can be managed
dynamically using techniques such as load shedding, migrating jobs to
other systems or data centers, or strategically pausing or killing low
priority or restartable batch jobs.

This allows maximizing hardware utilization without sacrificing
workload health or risking major disruptions such as OOM kills.

Pressure interface
==================

Pressure information for each resource is exported through the
respective file in /proc/pressure/ -- cpu, memory, and io.

The format for CPU is as such:

some avg10=0.00 avg60=0.00 avg300=0.00 total=0

and for memory and IO:

some avg10=0.00 avg60=0.00 avg300=0.00 total=0
full avg10=0.00 avg60=0.00 avg300=0.00 total=0

The "some" line indicates the share of time in which at least some
tasks are stalled on a given resource.

The "full" line indicates the share of time in which all non-idle
tasks are stalled on a given resource simultaneously. In this state
actual CPU cycles are going to waste, and a workload that spends
extended time in this state is considered to be thrashing. This has
severe impact on performance, and it's useful to distinguish this
situation from a state where some tasks are stalled but the CPU is
still doing productive work. As such, time spent in this subset of the
stall state is tracked separately and exported in the "full" averages.

The ratios are tracked as recent trends over ten, sixty, and three
hundred second windows, which gives insight into short term events as
well as medium and long term trends. The total absolute stall time is
tracked and exported as well, to allow detection of latency spikes
which wouldn't necessarily make a dent in the time averages, or to
average trends over custom time frames.

Monitoring for pressure thresholds
==================================

Users can register triggers and use poll() to be woken up when resource
pressure exceeds certain thresholds.

A trigger describes the maximum cumulative stall time over a specific
time window, e.g. 100ms of total stall time within any 500ms window to
generate a wakeup event.

To register a trigger user has to open psi interface file under
/proc/pressure/ representing the resource to be monitored and write the
desired threshold and time window. The open file descriptor should be
used to wait for trigger events using select(), poll() or epoll().
The following format is used:

<some|full> <stall amount in us> <time window in us>

For example writing "some 150000 1000000" into /proc/pressure/memory
would add 150ms threshold for partial memory stall measured within
1sec time window. Writing "full 50000 1000000" into /proc/pressure/io
would add 50ms threshold for full io stall measured within 1sec time window.

Triggers can be set on more than one psi metric and more than one trigger
for the same psi metric can be specified. However for each trigger a separate
file descriptor is required to be able to poll it separately from others,
therefore for each trigger a separate open() syscall should be made even
when opening the same psi interface file.

Monitors activate only when system enters stall state for the monitored
psi metric and deactivates upon exit from the stall state. While system is
in the stall state psi signal growth is monitored at a rate of 10 times per
tracking window.

The kernel accepts window sizes ranging from 500ms to 10s, therefore min
monitoring update interval is 50ms and max is 1s. Min limit is set to
prevent overly frequent polling. Max limit is chosen as a high enough number
after which monitors are most likely not needed and psi averages can be used
instead.

When activated, psi monitor stays active for at least the duration of one
tracking window to avoid repeated activations/deactivations when system is
bouncing in and out of the stall state.

Notifications to the userspace are rate-limited to one per tracking window.

The trigger will de-register when the file descriptor used to define the
trigger  is closed.

Userspace monitor usage example
===============================

#include <errno.h>
#include <fcntl.h>
#include <stdio.h>
#include <poll.h>
#include <string.h>
#include <unistd.h>

/*
 * Monitor memory partial stall with 1s tracking window size
 * and 150ms threshold.
 */
int main() {
	const char trig[] = "some 150000 1000000";
	struct pollfd fds;
	int n;

	fds.fd = open("/proc/pressure/memory", O_RDWR | O_NONBLOCK);
	if (fds.fd < 0) {
		printf("/proc/pressure/memory open error: %s\n",
			strerror(errno));
		return 1;
	}
	fds.events = POLLPRI;

	if (write(fds.fd, trig, strlen(trig) + 1) < 0) {
		printf("/proc/pressure/memory write error: %s\n",
			strerror(errno));
		return 1;
	}

	printf("waiting for events...\n");
	while (1) {
		n = poll(&fds, 1, -1);
		if (n < 0) {
			printf("poll error: %s\n", strerror(errno));
			return 1;
		}
		if (fds.revents & POLLERR) {
			printf("got POLLERR, event source is gone\n");
			return 0;
		}
		if (fds.revents & POLLPRI) {
			printf("event triggered!\n");
		} else {
			printf("unknown event received: 0x%x\n", fds.revents);
			return 1;
		}
	}

	return 0;
}

Cgroup2 interface
=================

In a system with a CONFIG_CGROUP=y kernel and the cgroup2 filesystem
mounted, pressure stall information is also tracked for tasks grouped
into cgroups. Each subdirectory in the cgroupfs mountpoint contains
cpu.pressure, memory.pressure, and io.pressure files; the format is
the same as the /proc/pressure/ files.

Per-cgroup psi monitors can be specified and used the same way as
system-wide ones.
+4 −0
Original line number Diff line number Diff line
@@ -3331,6 +3331,10 @@
			before loading.
			See Documentation/blockdev/ramdisk.txt.

	psi=		[KNL] Enable or disable pressure stall information
			tracking.
			Format: <bool>

	psmouse.proto=	[HW,MOUSE] Highest PS2 mouse protocol extension to
			probe for; one of (bare|imps|exps|lifebook|any).
	psmouse.rate=	[HW,MOUSE] Set desired mouse report rate, in reports
+2 −2
Original line number Diff line number Diff line
@@ -6,7 +6,7 @@ TL;DR summary
* Use only NEON instructions, or VFP instructions that don't rely on support
  code
* Isolate your NEON code in a separate compilation unit, and compile it with
  '-mfpu=neon -mfloat-abi=softfp'
  '-march=armv7-a -mfpu=neon -mfloat-abi=softfp'
* Put kernel_neon_begin() and kernel_neon_end() calls around the calls into your
  NEON code
* Don't sleep in your NEON code, and be aware that it will be executed with
@@ -87,7 +87,7 @@ instructions appearing in unexpected places if no special care is taken.
Therefore, the recommended and only supported way of using NEON/VFP in the
kernel is by adhering to the following rules:
* isolate the NEON code in a separate compilation unit and compile it with
  '-mfpu=neon -mfloat-abi=softfp';
  '-march=armv7-a -mfpu=neon -mfloat-abi=softfp';
* issue the calls to kernel_neon_begin(), kernel_neon_end() as well as the calls
  into the unit containing the NEON code from a compilation unit which is *not*
  built with the GCC flag '-mfpu=neon' set.
+18 −0
Original line number Diff line number Diff line
@@ -958,6 +958,12 @@ All time durations are in microseconds.
	$PERIOD duration.  If only one number is written, $MAX is
	updated.

  cpu.pressure
	A read-only nested-key file which exists on non-root cgroups.

	Shows pressure stall information for CPU. See
	Documentation/accounting/psi.txt for details.


Memory
------
@@ -1194,6 +1200,12 @@ PAGE_SIZE multiple when read back.
	Swap usage hard limit.  If a cgroup's swap usage reaches this
	limit, anonymous meomry of the cgroup will not be swapped out.

  memory.pressure
	A read-only nested-key file which exists on non-root cgroups.

	Shows pressure stall information for memory. See
	Documentation/accounting/psi.txt for details.


Usage Guidelines
~~~~~~~~~~~~~~~~
@@ -1329,6 +1341,12 @@ IO Interface Files

	  8:16 rbps=2097152 wbps=max riops=max wiops=max

  io.pressure
	A read-only nested-key file which exists on non-root cgroups.

	Shows pressure stall information for IO. See
	Documentation/accounting/psi.txt for details.


Writeback
~~~~~~~~~
Loading