Suren Baghdasaryan
a163d3fb8a
FROMLIST: psi: introduce psi monitor
...
Psi monitor aims to provide a low-latency short-term pressure
detection mechanism configurable by users. It allows users to
monitor psi metrics growth and trigger events whenever a metric
raises above user-defined threshold within user-defined time window.
Time window and threshold are both expressed in usecs. Multiple psi
resources with different thresholds and window sizes can be monitored
concurrently.
Psi monitors activate when system enters stall state for the monitored
psi metric and deactivate 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. Min window size is 500ms, therefore the min monitoring
interval is 50ms. Max window size is 10s with monitoring interval of 1s.
When activated psi monitor stays active for at least the duration of one
tracking window to avoid repeated activations/deactivations when psi
signal is bouncing.
Notifications to the users are rate-limited to one per tracking window.
Signed-off-by: Suren Baghdasaryan <surenb@google.com>
Signed-off-by: Johannes Weiner <hannes@cmpxchg.org>
(not upstream yet, latest version published at: https://lore.kernel.org/patchwork/patch/1052418/ )
Conflicts:
include/linux/psi.h
kernel/cgroup.c
kernel/sched/psi.c
(1. replaced __poll_t with unsigned int
2. replaced EPOLLERR/EPOLLPRI with POLLERR/POLLPRI (values are the same)
3. include <linux/cgroup-defs.h> in include/linux/psi.h)
Bug: 127712811
Bug: 129157727
Test: lmkd in PSI mode
Change-Id: I1688f047e98e1f109627dad72a33d2f70e575268
Signed-off-by: Suren Baghdasaryan <surenb@google.com>
2019-03-23 00:29:15 +00:00
..
80211
docs-rst: sphinxify 802.11 documentation
2016-10-11 16:19:17 -06:00
ABI
UPSTREAM: zram: idle writeback fixes and cleanup
2019-02-01 09:26:56 +00:00
accounting
FROMLIST: psi: introduce psi monitor
2019-03-23 00:29:15 +00:00
acpi
Merge branches 'acpi-button', 'acpi-battery' and 'acpi-doc'
2016-10-02 01:40:20 +02:00
aoe
arm
linux-kselftest-4.9-rc1-update
2016-10-14 15:17:12 -07:00
arm64
arm64: Add work around for Arm Cortex-A55 Erratum 1024718
2018-05-16 10:08:42 +02:00
auxdisplay
samples: move auxdisplay example code from Documentation
2016-09-23 11:52:32 -06:00
backlight
blackfin
samples: move blackfin gptimers-example from Documentation
2016-10-10 07:12:02 -06:00
block
ANDROID: mmc: Add CONFIG_MMC_SIMULATE_MAX_SPEED
2017-01-27 13:54:59 -08:00
blockdev
UPSTREAM: zram: idle writeback fixes and cleanup
2019-02-01 09:26:56 +00:00
bus-devices
cdrom
cgroup-v1
Three fixes for the docs build, including removing an annoying warning on
2016-08-07 10:23:17 -04:00
cma
connector
samples: connector: from Documentation to samples directory
2016-04-28 07:47:35 -06:00
console
cpu-freq
FROMLIST: cpufreq: Add android's 'interactive' governor
2017-01-31 10:47:32 -08:00
cpuidle
cris
crypto
crypto: doc - Fix typo
2016-05-31 16:41:55 +08:00
dev-tools
mm: kmemleak: avoid using __va() on addresses that don't have a lowmem mapping
2016-10-11 15:06:33 -07:00
development-process
docs-rst: add inter-document cross references
2016-09-21 15:43:09 -06:00
device-mapper
BACKPORT: dm crypt: optionally support larger encryption sector size
2018-12-13 09:34:59 -08:00
devicetree
This is the 4.9.159 stable release
2019-02-20 10:44:45 +01:00
dmaengine
dmaengine: documentation to the new callback mechanism
2016-08-08 08:11:42 +05:30
DocBook
A single commit converting the mac80211 DocBook template over to Sphinx.
2016-10-14 14:11:22 -07:00
driver-api
docs: Don't format internal MPT docs
2016-09-06 09:15:48 -06:00
driver-model
power supply and reset changes for the v4.9 series
2016-10-06 18:21:15 -07:00
early-userspace
EDID
extcon
fault-injection
fb
Documentation: fb: fix spelling mistakes
2016-05-10 12:05:27 +03:00
features
Documentation: MIPS supports HAVE_REGS_AND_STACK_ACCESS_API
2016-10-13 17:19:19 +02:00
filesystems
ANDROID: overlayfs: override_creds=off option bypass creator_cred
2019-03-05 21:50:18 +00:00
firmware_class
Documentation: fix common spelling mistakes
2016-04-28 07:51:59 -06:00
fmc
fpga
frv
gpio
gpio/board.txt: point to gpiod_set_value
2016-10-20 14:14:11 +02:00
gpu
UPSTREAM: drm/fences: add DOC: for explicit fencing
2017-05-23 15:47:18 -07:00
hid
Documentation: HID: Intel ISH HID document
2016-08-17 11:13:07 +02:00
hwmon
hwmon: (ina2xx) fix sysfs shunt resistor read access
2018-10-03 17:01:52 -07:00
i2c
i2c: Documentation: i2c-topology: fix minor whitespace nit
2016-11-10 21:18:56 +01:00
ia64
selftests: move ia64 tests from Documentation/ia64
2016-09-20 09:58:12 -06:00
ide
iio
iio: Documentation: Correct the path used to create triggers.
2016-10-01 00:49:58 -06:00
infiniband
IB/hfi1: Document new sysfs entries for hfi1 driver
2016-10-02 08:42:19 -04:00
input
UPSTREAM: HID: sony: Report DS4 motion sensors through a separate device
2018-10-24 17:03:59 -07:00
ioctl
BACKPORT: tee: generic TEE subsystem
2017-12-05 14:00:37 +00:00
isdn
ja_JP
Documentatio: HOWTO: remove regression postings info from translations
2016-04-16 10:49:08 -06:00
kbuild
Merge branch 'kbuild' of git://git.kernel.org/pub/scm/linux/kernel/git/mmarek/kbuild
2016-10-14 14:26:58 -07:00
kdump
Documentation: kdump: Add description of enable multi-cpus support
2016-09-20 18:02:54 -06:00
ko_KR
locking/Documentation: Add Korean translation
2016-08-12 08:24:14 +02:00
laptops
tools: move laptops dslm tool from Documentation
2016-09-23 13:07:21 -06:00
leds
Merge branch 'for-next' of git://git.kernel.org/pub/scm/linux/kernel/git/j.anaszewski/linux-leds
2016-10-04 10:25:53 -07:00
livepatch
Documentation: livepatch: add section about arch-specific code
2016-08-18 23:41:56 +02:00
locking
locking/lglock: Remove lglock implementation
2016-09-22 15:25:56 +02:00
m68k
media
videodev2.h: go back to limited range Y'CbCr for SRGB and, ADOBERGB
2017-02-23 17:44:37 +01:00
memory-devices
metag
mic
samples: move mic/mpssd example code from Documentation
2016-09-20 12:38:48 -06:00
mips
misc-devices
samples: move misc-devices/mei example code from Documentation
2016-09-23 11:51:43 -06:00
mmc
mmc: core: Extend sysfs with DSR register
2016-07-25 10:34:51 +02:00
mn10300
mtd
namespaces
netlabel
networking
This is the 4.9.134 stable release
2018-10-18 19:18:13 +02:00
nfc
nios2
nvdimm
libnvdimm, btt: update the usage section in Documentation
2016-06-17 16:23:23 -07:00
nvmem
parisc
PCI
PCI changes for the v4.9 merge window:
2016-10-07 11:46:37 -07:00
pcmcia
tools: move pcmcia crc32hash tool from Documentation
2016-09-23 13:07:27 -06:00
perf
perf: xgene: Add APM X-Gene SoC Performance Monitoring Unit driver
2016-09-15 11:20:55 -07:00
phy
platform
power
power supply and reset changes for the v4.9 series
2016-10-06 18:21:15 -07:00
powerpc
powerpc updates for 4.9
2016-10-07 20:19:31 -07:00
pps
Documentation: pps: fix spelling mistake
2016-04-28 07:23:59 -06:00
prctl
selftests: move prctl tests from Documentation/prctl
2016-09-20 09:09:09 -06:00
pti
ptp
selftests: move ptp tests from Documentation/ptp
2016-09-20 09:54:38 -06:00
rapidio
rapidio/documentation/mport_cdev: add missing parameter description
2016-09-01 17:52:02 -07:00
RCU
kthread: kthread worker API cleanup
2016-10-11 15:06:33 -07:00
s390
s390/Documentation: improve sort command for trace buffer
2016-06-13 15:58:23 +02:00
scheduler
ANDROID: sched/tune: add detailed documentation
2017-01-31 10:46:34 -08:00
scsi
scsi: g_NCR5380: Stop using scsi_module.c
2016-09-29 21:52:43 -04:00
security
f2fs: catch up to v4.14-rc1
2017-10-13 11:27:08 +00:00
serial
Documentation: rs485: Do not define manually the ioctl
2016-08-18 11:08:33 -06:00
sh
sound
ASoC: Updates for v4.8
2016-07-26 10:35:31 +02:00
sphinx
docs: sphinx-extensions: make rstFlatTable work with docutils 0.13
2017-01-09 08:32:18 +01:00
sphinx-static
This is the documentation update pull for the 4.9 merge window.
2016-10-04 13:54:07 -07:00
spi
Doc: update 00-INDEX files to reflect the runnable code move
2016-10-10 07:12:09 -06:00
sysctl
This is the 4.9.142 stable release
2018-12-01 10:00:35 +01:00
target
target: make close_session optional
2016-05-10 01:19:26 -07:00
thermal
thermal: Add support for hardware-tracked trip points
2016-09-27 14:02:16 +08:00
timers
Doc: update 00-INDEX files to reflect the runnable code move
2016-10-10 07:12:09 -06:00
tpm
tpm: Add documentation for the tpm_vtpm_proxy device driver
2016-06-25 17:26:35 +03:00
trace
UPSTREAM: trace: Update documentation for mono, mono_raw and boot clock
2017-01-27 13:55:48 -08:00
usb
Documentation: tiny typo fix in usb/gadget_multi.txt
2016-06-23 08:09:10 -06:00
virtual
KVM: x86: Add a framework for supporting MSR-based features
2018-08-15 18:14:52 +02:00
vm
Three fixes for the docs build, including removing an annoying warning on
2016-08-07 10:23:17 -04:00
w1
w1: add ability to set (SRAM) and store (EEPROM) configuration for temp sensors like DS18B20
2016-05-01 14:37:49 -07:00
watchdog
linux-kselftest-4.9-rc1-update
2016-10-14 15:17:12 -07:00
wimax
x86
x86/pti: Document fix wrong index
2018-01-23 19:57:10 +01:00
xtensa
xtensa: cleanup MMU setup and kernel layout macros
2016-07-24 06:33:58 +03:00
zh_CN
docs: deprecate kernel-doc-nano-HOWTO.txt
2016-07-20 16:45:37 -06:00
.gitignore
Add .pyc files to .gitignore
2016-06-30 13:07:33 -06:00
00-INDEX
BACKPORT: Documentation: tee subsystem and op-tee driver
2017-12-05 14:00:47 +00:00
adding-syscalls.txt
documentation: trivial typo: adding-syscalls.txt: s/statat/fstatat/
2016-04-18 11:31:49 -06:00
android.txt
ANDROID: pstore: Update Documentation/android.txt
2017-01-27 13:52:20 -08:00
applying-patches.txt
docs: Clean up bare :: lines
2016-09-20 18:46:36 -06:00
assoc_array.txt
atomic_ops.txt
bad_memory.txt
basic_profiling.txt
bcache.txt
bcache: documentation formatting, edited for clarity, stripe alignment notes
2016-06-23 07:58:38 -06:00
binfmt_misc.txt
binfmt_misc: add F option description to documentation
2016-03-30 14:12:22 -07:00
braille-console.txt
bt8xxgpio.txt
btmrvl.txt
BUG-HUNTING
bus-virt-phys-mapping.txt
cachetlb.txt
cgroup-v2.txt
BACKPORT: psi: cgroup support
2019-03-22 14:10:44 -07:00
Changes
kbuild: verify that $DEPMOD is installed
2018-08-17 20:59:29 +02:00
circular-buffers.txt
clk.txt
Documentation: clk: update file names containing referenced structures
2016-08-14 12:12:36 -06:00
CodeOfConflict
URL changed for Linux Foundation TAB
2016-10-01 00:57:13 -06:00
CodingStyle
docs: Remove space-before-label guidance from CodingStyle
2016-09-21 15:53:31 -06:00
conf.py
docs-rst: fix LaTeX \DURole renewcommand with Sphinx 1.3+
2017-01-12 11:39:32 +01:00
cpu-hotplug.txt
cpu-load.txt
cputopology.txt
topology/sysfs: provide drawer id and siblings attributes
2016-06-13 15:58:27 +02:00
crc32.txt
dcdbas.txt
debugging-modules.txt
debugging-via-ohci1394.txt
dell_rbu.txt
devices.txt
Documentation: update the devices.txt documentation
2016-03-29 10:11:44 -07:00
digsig.txt
DMA-API-HOWTO.txt
Documentation: DMA-API-HOWTO: Fix a typo
2016-09-20 17:58:46 -06:00
DMA-API.txt
dma-mapping: add dma_{map,unmap}_resource
2016-09-26 22:16:41 +05:30
DMA-attributes.txt
dma-mapping: introduce the DMA_ATTR_NO_WARN attribute
2016-10-11 15:06:32 -07:00
dma-buf-sharing.txt
dma-buf: Update docs for SYNC ioctl
2016-03-21 09:26:45 +01:00
DMA-ISA-LPC.txt
docutils.conf
doc-rst: add docutils config file
2016-08-14 11:52:40 -06:00
dontdiff
GCC plugin infrastructure
2016-06-07 22:57:10 +02:00
dynamic-debug-howto.txt
edac.txt
efi-stub.txt
eisa.txt
email-clients.txt
Documentation/email-clients.txt: convert it to ReST markup
2016-09-21 15:41:50 -06:00
flexible-arrays.txt
futex-requeue-pi.txt
gcc-plugins.txt
GCC plugin infrastructure
2016-06-07 22:57:10 +02:00
highuid.txt
HOWTO
docs: Clean up bare :: lines
2016-09-20 18:46:36 -06:00
hw_random.txt
hwspinlock.txt
index.rst
Documentation: Add section about CPU vulnerabilities
2018-08-15 18:14:51 +02:00
init.txt
initrd.txt
Intel-IOMMU.txt
intel_txt.txt
io-mapping.txt
io_ordering.txt
iostats.txt
IPMI.txt
IRQ-affinity.txt
IRQ-domain.txt
Documentation/IRQ-domain.txt: Document irq_domain_create_{linear, tree}
2016-03-31 00:32:59 -06:00
IRQ.txt
irqflags-tracing.txt
isa.txt
Documentation: Add ISA bus driver documentation
2016-05-02 09:32:04 -07:00
isapnp.txt
java.txt
kernel-doc-nano-HOWTO.txt
docs: deprecate kernel-doc-nano-HOWTO.txt
2016-07-20 16:45:37 -06:00
kernel-docs.txt
Documentation/kernel-docs.txt: reorder based on timestamp
2016-09-20 18:54:42 -06:00
kernel-documentation.rst
This is the documentation update pull for the 4.9 merge window.
2016-10-04 13:54:07 -07:00
kernel-parameters.txt
BACKPORT: psi: make disabling/enabling easier for vendor kernels
2019-03-22 14:14:04 -07:00
kernel-per-CPU-kthreads.txt
Documenation: update cgroup's document path
2016-08-03 15:43:58 -06:00
kobject.txt
kprobes.txt
Documentation: kprobes: Document jprobes stack copying limitations
2016-08-15 10:19:11 -06:00
kref.txt
kselftest.txt
kselftest: kselftest documentation improvement
2016-09-20 08:58:27 -06:00
l1tf.rst
KVM: VMX: Tell the nested hypervisor to skip L1D flush on vmentry
2018-08-15 18:14:53 +02:00
ldm.txt
local_ops.txt
lockup-watchdogs.txt
logo.gif
logo.txt
lzo.txt
Documentation: lzo: fix spelling mistakes
2016-04-28 07:23:11 -06:00
magic-number.txt
mailbox.txt
Makefile
samples: move blackfin gptimers-example from Documentation
2016-10-10 07:12:02 -06:00
Makefile.sphinx
doc-rst: generic way to build PDF of sub-folders
2016-09-01 08:49:23 -06:00
ManagementStyle
Documentation/HOWTO: add cross-references to other documents
2016-09-20 18:41:04 -06:00
md-cluster.txt
md-cluster: change array_sectors and update size are not supported
2016-05-04 12:39:35 -07:00
md.txt
Documentation: fix wrong value in md.txt
2016-06-23 08:08:36 -06:00
memory-barriers.txt
locking/Documentation: Fix a typo of example result
2016-08-12 08:24:13 +02:00
memory-hotplug.txt
memory_hotplug: introduce CONFIG_MEMORY_HOTPLUG_DEFAULT_ONLINE
2016-05-19 19:12:14 -07:00
men-chameleon-bus.txt
module-signing.txt
Documentation/module-signing.txt: Note need for version info if reusing a key
2016-07-27 12:38:00 +09:30
mono.txt
nommu-mmap.txt
ntb.txt
numastat.txt
oops-tracing.txt
padata.txt
parport-lowlevel.txt
parport.txt
percpu-rw-semaphore.txt
phy.txt
phy: core: Allow children node to be overridden
2016-04-29 16:39:39 +02:00
pi-futex.txt
pinctrl.txt
pinctrl: Flag strict is a field in struct pinmux_ops
2016-06-23 10:50:10 +02:00
pnp.txt
preempt-locking.txt
printk-formats.txt
lib/vsprintf: Remove atomic-unsafe support for %pCr
2018-07-03 11:23:06 +02:00
pwm.txt
pwm: Update documentation
2016-05-17 14:48:04 +02:00
ramoops.txt
ramoops: use DT reserved-memory bindings
2016-08-05 11:21:36 -07:00
rbtree.txt
remoteproc.txt
remoteproc: Split driver and consumer dereferencing
2016-10-02 22:50:21 -07:00
rfkill.txt
robust-futex-ABI.txt
robust-futexes.txt
Documentation: robust-futexes: fix spelling mistakes
2016-04-28 07:26:41 -06:00
rpmsg.txt
rpmsg: use module_rpmsg_driver in existing drivers and examples
2016-05-06 11:09:01 -07:00
rtc.txt
SAK.txt
SecurityBugs
Documentation/HOWTO: add cross-references to other documents
2016-09-20 18:41:04 -06:00
serial-console.txt
sgi-ioc4.txt
SM501.txt
smsc_ece1099.txt
spec_ctrl.txt
Documentation/spec_ctrl: Do some minor cleanups
2018-05-22 16:58:02 +02:00
speculation.txt
Documentation: Document array_index_nospec
2018-02-13 12:35:59 +01:00
stable_api_nonsense.txt
Documentation/HOWTO: add cross-references to other documents
2016-09-20 18:41:04 -06:00
stable_kernel_rules.txt
Documentation: stable-kernel-rules: fix stable-tag format
2017-04-12 12:41:15 +02:00
static-keys.txt
jump_labels: Allow array initialisers
2016-09-07 09:41:11 +01:00
SubmitChecklist
docs-rst: add inter-document cross references
2016-09-21 15:43:09 -06:00
SubmittingDrivers
docs-rst: add inter-document cross references
2016-09-21 15:43:09 -06:00
SubmittingPatches
docs-rst: add inter-document cross references
2016-09-21 15:43:09 -06:00
svga.txt
sync.txt
ANDROID: sync: add Documentation/sync.txt
2017-01-27 13:51:38 -08:00
sync_file.txt
Documentation: add doc for sync_file_get_fence()
2016-08-11 15:33:24 +05:30
sysfs-rules.txt
sysrq.txt
Doc: correct the location of sysrq.c
2016-04-28 08:02:36 -06:00
tee.txt
BACKPORT: tee.txt: standardize document format
2018-01-12 16:44:40 +00:00
this_cpu_ops.txt
unaligned-memory-access.txt
unicode.txt
unshare.txt
vfio.txt
VGA-softcursor.txt
video-output.txt
vme_api.txt
vme: Update documentation to match api
2016-08-31 13:20:16 +02:00
volatile-considered-harmful.txt
workqueue.txt
workqueue: Fix a typo in workqueue.txt
2016-07-06 02:37:38 -06:00
xillybus.txt
Documentation: xillybus: fix spelling mistake
2016-04-28 07:44:54 -06:00
xz.txt
zorro.txt