Lukasz Luba
156eaacba3
PM: EM: Increase energy calculation precision
...
[ Upstream commit 7fcc17d0cb12938d2b3507973a6f93fc9ed2c7a1 ]
The Energy Model (EM) provides useful information about device power in
each performance state to other subsystems like: Energy Aware Scheduler
(EAS). The energy calculation in EAS does arithmetic operation based on
the EM em_cpu_energy(). Current implementation of that function uses
em_perf_state::cost as a pre-computed cost coefficient equal to:
cost = power * max_frequency / frequency.
The 'power' is expressed in milli-Watts (or in abstract scale).
There are corner cases when the EAS energy calculation for two Performance
Domains (PDs) return the same value. The EAS compares these values to
choose smaller one. It might happen that this values are equal due to
rounding error. In such scenario, we need better resolution, e.g. 1000
times better. To provide this possibility increase the resolution in the
em_perf_state::cost for 64-bit architectures. The cost of increasing
resolution on 32-bit is pretty high (64-bit division) and is not justified
since there are no new 32bit big.LITTLE EAS systems expected which would
benefit from this higher resolution.
This patch allows to avoid the rounding to milli-Watt errors, which might
occur in EAS energy estimation for each PD. The rounding error is common
for small tasks which have small utilization value.
There are two places in the code where it makes a difference:
1. In the find_energy_efficient_cpu() where we are searching for
best_delta. We might suffer there when two PDs return the same result,
like in the example below.
Scenario:
Low utilized system e.g. ~200 sum_util for PD0 and ~220 for PD1. There
are quite a few small tasks ~10-15 util. These tasks would suffer for
the rounding error. These utilization values are typical when running games
on Android. One of our partners has reported 5..10mA less battery drain
when running with increased resolution.
Some details:
We have two PDs: PD0 (big) and PD1 (little)
Let's compare w/o patch set ('old') and w/ patch set ('new')
We are comparing energy w/ task and w/o task placed in the PDs
a) 'old' w/o patch set, PD0
task_util = 13
cost = 480
sum_util_w/o_task = 215
sum_util_w_task = 228
scale_cpu = 1024
energy_w/o_task = 480 * 215 / 1024 = 100.78 => 100
energy_w_task = 480 * 228 / 1024 = 106.87 => 106
energy_diff = 106 - 100 = 6
(this is equal to 'old' PD1's energy_diff in 'c)')
b) 'new' w/ patch set, PD0
task_util = 13
cost = 480 * 1000 = 480000
sum_util_w/o_task = 215
sum_util_w_task = 228
energy_w/o_task = 480000 * 215 / 1024 = 100781
energy_w_task = 480000 * 228 / 1024 = 106875
energy_diff = 106875 - 100781 = 6094
(this is not equal to 'new' PD1's energy_diff in 'd)')
c) 'old' w/o patch set, PD1
task_util = 13
cost = 160
sum_util_w/o_task = 283
sum_util_w_task = 293
scale_cpu = 355
energy_w/o_task = 160 * 283 / 355 = 127.55 => 127
energy_w_task = 160 * 296 / 355 = 133.41 => 133
energy_diff = 133 - 127 = 6
(this is equal to 'old' PD0's energy_diff in 'a)')
d) 'new' w/ patch set, PD1
task_util = 13
cost = 160 * 1000 = 160000
sum_util_w/o_task = 283
sum_util_w_task = 293
scale_cpu = 355
energy_w/o_task = 160000 * 283 / 355 = 127549
energy_w_task = 160000 * 296 / 355 = 133408
energy_diff = 133408 - 127549 = 5859
(this is not equal to 'new' PD0's energy_diff in 'b)')
2. Difference in the 6% energy margin filter at the end of
find_energy_efficient_cpu(). With this patch the margin comparison also
has better resolution, so it's possible to have better task placement
thanks to that.
Fixes: 27871f7a8a ("PM: Introduce an Energy Model management framework")
Reported-by: CCJ Yeh <CCj.Yeh@mediatek.com>
Reviewed-by: Dietmar Eggemann <dietmar.eggemann@arm.com>
Signed-off-by: Lukasz Luba <lukasz.luba@arm.com>
Signed-off-by: Rafael J. Wysocki <rafael.j.wysocki@intel.com>
Signed-off-by: Sasha Levin <sashal@kernel.org>
2021-09-15 09:47:33 +02:00
..
amba
avf
bcma
byteorder
can
net: introduce CAN specific pointer in the struct net_device
2021-04-07 14:47:41 +02:00
ceph
clk
crush
decompress
dma
dsa
extcon
firmware
fpga
fsl
gpio
greybus
hsi
i3c
iio
iio: cros_ec_sensors: Fix alignment of buffer in iio_push_to_buffers_with_timestamp()
2021-07-14 16:53:39 +02:00
input
irqchip
isdn
lockd
mailbox
mfd
regulator: rt5033: Fix n_voltages settings for BUCK and LDO
2021-08-08 09:04:07 +02:00
mlx4
RDMA/mlx4: Do not map the core_clock page to user space unless enabled
2021-06-16 11:59:44 +02:00
mlx5
net/mlx5e: Fix page reclaim for dead peer hairpin
2021-06-23 14:41:24 +02:00
mmc
mmc: core: Fix hanging on I/O during system suspend for removable cards
2021-05-11 14:04:03 +02:00
mtd
mtd: lpddr: Fix bad logic in print_drs_error
2020-11-01 12:01:05 +01:00
mux
netfilter
netfilter: x_tables: Use correct memory barriers.
2021-03-30 14:35:28 +02:00
netfilter_arp
netfilter: arp_tables: add pre_exit hook for table unregister
2021-04-21 12:56:16 +02:00
netfilter_bridge
netfilter: bridge: add pre_exit hooks for ebtable unregistration
2021-04-21 12:56:16 +02:00
netfilter_ipv4
netfilter_ipv6
perf
phy
pinctrl
platform_data
gpio: omap: Save and restore sysconfig
2021-04-28 13:19:14 +02:00
power
power: supply: max17042_battery: fix typo in MAx17042_TOFF
2021-09-15 09:47:27 +02:00
qed
net: qed: Disable aRFS for NPAR and 100G
2020-10-01 13:18:18 +02:00
raid
regulator
remoteproc
reset
rpmsg
rtc
sched
x86/signal: Detect and prevent an alternate signal stack overflow
2021-07-20 16:10:49 +02:00
soc
soundwire
spi
spi: Fix use-after-free with devm_spi_alloc_*
2021-05-14 09:44:20 +02:00
ssb
sunrpc
SUNRPC: Move simple_get_bytes and simple_get_netobj into private header
2021-02-13 13:52:56 +01:00
ulpi
unaligned
usb
usb: otg-fsm: Fix hrtimer list corruption
2021-08-12 13:21:00 +02:00
wimax
8250_pci.h
a.out.h
acct.h
acpi.h
ACPI: tables: x86: Reserve memory occupied by ACPI tables
2021-05-07 10:51:36 +02:00
acpi_dma.h
acpi_iort.h
acpi_pmtmr.h
adb.h
adfs_fs.h
adxl.h
aer.h
agp_backend.h
agpgart.h
ahci-remap.h
ahci_platform.h
aio.h
alarmtimer.h
alcor_pci.h
altera_jtaguart.h
altera_uart.h
amd-iommu.h
anon_inodes.h
apm-emulation.h
apm_bios.h
apple-gmux.h
apple_bl.h
arch_topology.h
arm-cci.h
arm-smccc.h
KVM: arm64: ARM_SMCCC_ARCH_WORKAROUND_1 doesn't return SMCCC_RET_NOT_REQUIRED
2020-11-18 19:20:21 +01:00
arm_sdei.h
armada-37xx-rwtm-mailbox.h
ascii85.h
asn1.h
asn1_ber_bytecode.h
asn1_decoder.h
assoc_array.h
assoc_array_priv.h
async.h
async_tx.h
ata.h
ata_platform.h
atalk.h
ath9k_platform.h
atm.h
atm_suni.h
atm_tcp.h
atmdev.h
atmel-mci.h
atmel-ssc.h
atmel_pdc.h
atomic-fallback.h
atomic.h
attribute_container.h
audit.h
auto_dev-ioctl.h
auto_fs.h
auxvec.h
average.h
b1pcmcia.h
backing-dev-defs.h
backing-dev.h
backlight.h
badblocks.h
balloon_compaction.h
bcd.h
bch.h
bcm47xx_nvram.h
bcm47xx_sprom.h
bcm47xx_wdt.h
bcm963xx_nvram.h
bcm963xx_tag.h
binfmts.h
exec: Add exec_update_mutex to replace cred_guard_mutex
2020-10-01 13:17:47 +02:00
bio.h
block: return the correct bvec when checking for gaps
2021-07-14 16:53:48 +02:00
bit_spinlock.h
bitfield.h
bitmap.h
bitops.h
bitrev.h
bits.h
blk-cgroup.h
blk-mq-pci.h
blk-mq-rdma.h
blk-mq-virtio.h
blk-mq.h
blk-pm.h
blk_types.h
blkdev.h
blkpg.h
blktrace_api.h
blockgroup_lock.h
bma150.h
bottom_half.h
bpf-cgroup.h
bpf.h
bpf: Don't do bpf_cgroup_storage_set() for kuprobe/tp programs
2021-03-30 14:35:28 +02:00
bpf_lirc.h
bpf_trace.h
bpf_types.h
bpf_verifier.h
bpf: Fix leakage of uninitialized bpf stack under speculation
2021-05-07 10:51:37 +02:00
bpfilter.h
brcmphy.h
bsearch.h
bsg-lib.h
bsg.h
btf.h
btree-128.h
btree-type.h
btree.h
btrfs.h
buffer_head.h
bug.h
build-salt.h
build_bug.h
kbuild: avoid static_assert for genksyms
2020-12-16 10:56:58 +01:00
bvec.h
c2port.h
cache.h
cacheinfo.h
capability.h
cb710.h
cciss_ioctl.h
ccp.h
cdev.h
cdrom.h
cfag12864b.h
cgroup-defs.h
cgroup.h
cgroup_rdma.h
cgroup_subsys.h
circ_buf.h
cleancache.h
clk-provider.h
clk.h
clkdev.h
clock_cooling.h
clockchips.h
clocksource.h
cm4000_cs.h
cma.h
cmdline-parser.h
cn_proc.h
cnt32_to_63.h
coda.h
compaction.h
compat.h
compiler-clang.h
compiler.h: fix barrier_data() on clang
2020-12-16 10:56:59 +01:00
compiler-gcc.h
compiler.h: Raise minimum version of GCC to 5.1 for arm64
2021-01-23 15:57:55 +01:00
compiler-intel.h
compiler.h
vmlinux.lds.h: Create section for protection against instrumentation
2021-02-17 10:35:16 +01:00
compiler_attributes.h
compiler_types.h
vmlinux.lds.h: Create section for protection against instrumentation
2021-02-17 10:35:16 +01:00
completion.h
component.h
configfs.h
connector.h
console.h
console_struct.h
vt: Fix character height handling with VT_RESIZEX
2021-05-26 12:05:20 +02:00
consolemap.h
const.h
container.h
context_tracking.h
context_tracking_state.h
cordic.h
coredump.h
coresight-pmu.h
coresight-stm.h
coresight.h
count_zeros.h
counter.h
counter_enum.h
cper.h
cpu.h
cpu_cooling.h
cpu_pm.h
cpu_rmap.h
cpufeature.h
cpufreq.h
cpuhotplug.h
clocksource/drivers/timer-ti-dm: Handle dra7 timer wrap errata i940
2021-06-23 14:41:31 +02:00
cpuidle.h
cpuidle_haltpoll.h
cpumask.h
cpuset.h
crash_core.h
crash_dump.h
crc-ccitt.h
crc-itu-t.h
crc-t10dif.h
crc4.h
crc7.h
crc8.h
crc16.h
crc32.h
crc32c.h
crc32poly.h
crc64.h
cred.h
crypto.h
crypto - shash: reduce minimum alignment of shash_desc structure
2021-03-09 11:09:38 +01:00
cryptohash.h
cs5535.h
ctype.h
cuda.h
cyclades.h
davinci_emac.h
dax.h
dca.h
dcache.h
dccp.h
dcookies.h
debug_locks.h
debugfs.h
debugobjects.h
delay.h
delayacct.h
delayed_call.h
devcoredump.h
devfreq-event.h
devfreq.h
devfreq_cooling.h
device-mapper.h
dm: fix deadlock when swapping to encrypted device
2021-03-04 10:26:51 +01:00
device.h
PCI/MSI: Protect msi_desc::masked for multi-MSI
2021-08-18 08:57:03 +02:00
device_cgroup.h
devpts_fs.h
digsig.h
dim.h
dio.h
dirent.h
dlm.h
dlm_plock.h
dm-bufio.h
dm integrity: fix flush with external metadata device
2021-01-19 18:26:13 +01:00
dm-dirty-log.h
dm-io.h
dm-kcopyd.h
dm-region-hash.h
dm9000.h
dma-buf.h
dma-contiguous.h
dma-debug.h
dma-direct.h
dma-direction.h
dma-fence-array.h
dma-fence-chain.h
dma-fence.h
dma-iommu.h
dma-mapping.h
dma-noncoherent.h
dma-resv.h
dmaengine.h
dmapool.h
dmar.h
dmi.h
dnotify.h
dns_resolver.h
dqblk_qtree.h
dqblk_v1.h
dqblk_v2.h
drbd.h
drbd_genl.h
drbd_genl_api.h
drbd_limits.h
ds2782_battery.h
dtlk.h
dw_apb_timer.h
dynamic_debug.h
dynamic_queue_limits.h
earlycpio.h
ecryptfs.h
edac.h
edd.h
eeprom_93cx6.h
eeprom_93xx46.h
misc: eeprom_93xx46: Add quirk to support Microchip 93LC46B eeprom
2021-03-11 14:06:50 +01:00
efi-bgrt.h
efi.h
efi: use 32-bit alignment for efi_guid_t literals
2021-03-24 11:26:45 +01:00
efs_vh.h
eisa.h
elevator.h
kyber: fix out of bounds access when preempted
2021-05-19 10:08:30 +02:00
elf-fdpic.h
elf-randomize.h
elf.h
elfcore-compat.h
elfcore.h
elfcore: fix building with clang
2021-01-23 15:57:55 +01:00
elfnote.h
enclosure.h
energy_model.h
PM: EM: Increase energy calculation precision
2021-09-15 09:47:33 +02:00
err.h
errno.h
error-injection.h
errqueue.h
errseq.h
etherdevice.h
ethtool.h
eventfd.h
eventpoll.h
evm.h
export.h
exportfs.h
ext2_fs.h
extable.h
extcon-provider.h
extcon.h
extcon: Add stubs for extcon_register_notifier_all() functions
2021-04-07 14:47:43 +02:00
f2fs_fs.h
f75375s.h
falloc.h
fanotify.h
fault-inject.h
fb.h
fbcon.h
fcdevice.h
fcntl.h
fd.h
fddidevice.h
fdtable.h
fec.h
file.h
filter.h
bpf: Avoid warning when re-casting __bpf_call_base into __bpf_call_base_args
2021-03-04 10:26:13 +01:00
fips.h
firewire.h
firmware-map.h
firmware.h
fixp-arith.h
flat.h
flex_proportions.h
font.h
Fonts: Support FONT_EXTRA_WORDS macros for built-in fonts
2020-10-14 10:32:56 +02:00
frame.h
freezer.h
frontswap.h
fs.h
writeback: Drop I_DIRTY_TIME_EXPIRE
2021-01-30 13:54:11 +01:00
fs_context.h
cgroup1: fix leaked context root causing sporadic NULL deref in LTP
2021-07-31 08:19:37 +02:00
fs_enet_pd.h
fs_parser.h
fs_pin.h
fs_stack.h
fs_struct.h
fs_types.h
fs_uart_pd.h
fscache-cache.h
fscache.h
fscrypt.h
fscrypt: add fscrypt_symlink_getattr() for computing st_size
2021-09-12 08:56:38 +02:00
fsi-occ.h
fsi-sbefifo.h
fsi.h
fsl-diu-fb.h
fsl_devices.h
fsl_hypervisor.h
fsl_ifc.h
fsldma.h
fsnotify.h
fsnotify_backend.h
fsverity.h
ftrace.h
ftrace_irq.h
futex.h
fwnode.h
gameport.h
gcd.h
genalloc.h
generic-radix-tree.h
genetlink.h
genhd.h
block/diskstats: more accurate approximation of io_ticks for slow disks
2020-10-07 08:01:29 +02:00
genl_magic_func.h
genl_magic_struct.h
getcpu.h
gfp.h
glob.h
gnss.h
goldfish.h
gpio-pxa.h
gpio.h
gpio_keys.h
greybus.h
hardirq.h
hash.h
hashtable.h
hdlc.h
hdlcdrv.h
hdmi.h
hid-debug.h
hid-roccat.h
hid-sensor-hub.h
hid-sensor-ids.h
hid.h
HID: usbhid: fix info leak in hid_submit_ctrl
2021-06-18 09:58:58 +02:00
hiddev.h
hidraw.h
highmem.h
highuid.h
hil.h
hil_mlc.h
hil/parisc: Disable HIL driver when it gets stuck
2020-11-05 11:43:36 +01:00
hippidevice.h
hmm.h
host1x.h
hp_sdc.h
hpet.h
hrtimer.h
hrtimer: Ensure timerfd notification for HIGHRES=n
2021-09-15 09:47:26 +02:00
hrtimer_defs.h
htcpld.h
huge_mm.h
mm/thp: make is_huge_zero_pmd() safe and quicker
2021-06-30 08:47:52 -04:00
hugetlb.h
mm, futex: fix shared futex pgoff on shmem huge page
2021-06-30 08:47:55 -04:00
hugetlb_cgroup.h
hugetlb_inline.h
hw_breakpoint.h
hw_random.h
hwmon-sysfs.h
hwmon-vid.h
hwmon.h
hwspinlock.h
hyperv.h
hypervisor.h
i2c-algo-bit.h
i2c-algo-pca.h
i2c-algo-pcf.h
i2c-dev.h
i2c-mux.h
i2c-pxa.h
i2c-smbus.h
i2c.h
i2c: Add I2C_AQ_NO_REP_START adapter quirk
2021-05-19 10:08:22 +02:00
i8042.h
i8253.h
icmp.h
icmpv6.h
net: icmp: pass zeroed opts from icmp{,v6}_ndo_send before sending
2021-03-04 10:26:53 +01:00
ide.h
idle_inject.h
idr.h
ieee80211.h
ieee802154.h
if_arp.h
if_bridge.h
if_eql.h
if_ether.h
if_fddi.h
if_frad.h
if_link.h
if_ltalk.h
if_macvlan.h
macvlan: macvlan_count_rx() needs to be aware of preemption
2021-03-30 14:35:25 +02:00
if_phonet.h
if_pppol2tp.h
if_pppox.h
if_rmnet.h
if_tap.h
if_team.h
if_tun.h
if_tunnel.h
if_vlan.h
igmp.h
ihex.h
ima.h
imx-media.h
in.h
in6.h
indirect_call_wrapper.h
inet.h
inet_diag.h
inetdevice.h
net: igmp: increase size of mr_ifc_count
2021-08-18 08:57:01 +02:00
init.h
init_ohci1394_dma.h
init_task.h
initrd.h
inotify.h
input-polldev.h
input.h
integrity.h
intel-iommu.h
iommu/vt-d: Don't dereference iommu_device if IOMMU_API is not built
2021-02-03 23:26:01 +01:00
intel-ish-client-if.h
intel-pti.h
intel-svm.h
intel_rapl.h
intel_th.h
interconnect-provider.h
interconnect.h
interrupt.h
interval_tree.h
interval_tree_generic.h
io-64-nonatomic-hi-lo.h
io-64-nonatomic-lo-hi.h
io-mapping.h
io-pgtable.h
io.h
ioc3.h
iocontext.h
iomap.h
iomap: fix sub-page uptodate handling
2021-05-19 10:08:30 +02:00
iommu-helper.h
iommu.h
iopoll.h
ioport.h
ioprio.h
iova.h
ip.h
ipack.h
ipc.h
ipc_namespace.h
ipmi-fru.h
ipmi.h
ipmi_smi.h
ipv6.h
net: icmp: pass zeroed opts from icmp{,v6}_ndo_send before sending
2021-03-04 10:26:53 +01:00
ipv6_route.h
irq.h
genirq: Provide IRQCHIP_AFFINITY_PRE_STARTUP
2021-08-18 08:57:02 +02:00
irq_cpustat.h
irq_poll.h
irq_sim.h
irq_work.h
irqbypass.h
irqchip.h
irqdesc.h
irqdomain.h
genirq/irqdomain: Add an irq_create_mapping_affinity() function
2020-12-11 13:23:30 +01:00
irqflags.h
irqhandler.h
irqnr.h
irqreturn.h
isa.h
isapnp.h
iscsi_boot_sysfs.h
iscsi_ibft.h
isicom.h
iversion.h
jbd2.h
jhash.h
jiffies.h
journal-head.h
joystick.h
jump_label.h
jump_label_ratelimit.h
jz4740-adc.h
jz4780-nemc.h
kallsyms.h
kasan-checks.h
kasan.h
kbd_diacr.h
kbd_kern.h
kbuild.h
kconfig.h
kcore.h
kcov.h
kd.h
kdb.h
kdebug.h
kdev_t.h
kdev_t: always inline major/minor helper functions
2021-01-09 13:44:54 +01:00
kern_levels.h
kernel-page-flags.h
kernel.h
kernel_stat.h
kernelcapi.h
kernfs.h
kexec.h
ima: Free IMA measurement buffer after kexec syscall
2021-03-04 10:26:25 +01:00
key-type.h
key.h
certs: Fix blacklist flag type confusion
2021-03-04 10:26:29 +01:00
keyboard.h
keyctl.h
kfifo.h
kgdb.h
khugepaged.h
mm: khugepaged: recalculate min_free_kbytes after memory hotplug as expected by khugepaged
2020-10-14 10:33:05 +02:00
klist.h
kmemleak.h
kmod.h
kmsg_dump.h
kobj_map.h
kobject.h
kobject_ns.h
kprobes.h
tracing/kprobe: Fix to support kretprobe events on unloaded modules
2021-02-13 13:52:54 +01:00
kref.h
ks0108.h
ks8842.h
ks8851_mll.h
ksm.h
kthread.h
kthread: Extract KTHREAD_IS_PER_CPU
2021-02-07 15:35:49 +01:00
ktime.h
kvm_host.h
kvm: fix previous commit for 32-bit builds
2021-06-16 11:59:45 +02:00
kvm_irqfd.h
kvm_para.h
kvm_types.h
l2tp.h
lantiq.h
lapb.h
latencytop.h
lcd.h
lcm.h
led-class-flash.h
led-lm3530.h
leds-bd2802.h
leds-lp3944.h
leds-lp3952.h
leds-pca9532.h
leds-regulator.h
leds-tca6507.h
leds-ti-lmu-common.h
leds.h
leds_pwm.h
libata.h
ata: make qc_prep return ata_completion_errors
2020-10-01 13:18:26 +02:00
libfdt.h
libfdt_env.h
libgcc.h
libnvdimm.h
libps2.h
license.h
lightnvm.h
limits.h
linkage.h
linkage: Introduce new macros for assembler symbols
2020-11-10 12:37:24 +01:00
linkmode.h
linux_logo.h
lis3lv02d.h
list.h
list_bl.h
list_lru.h
list_nulls.h
list_sort.h
livepatch.h
llc.h
llist.h
lockdep.h
lockref.h
log2.h
logic_pio.h
lp.h
lru_cache.h
lsm_audit.h
lsm_hooks.h
lz4.h
lzo.h
mailbox_client.h
mailbox_controller.h
maple.h
marvell_phy.h
net: phy: marvell: fix detection of PHY on Topaz switches
2021-04-21 12:56:18 +02:00
math64.h
max17040_battery.h
mbcache.h
mbus.h
mc6821.h
mc146818rtc.h
mcb.h
mdev.h
mdio-bitbang.h
mdio-gpio.h
mdio-mux.h
mdio.h
mei_cl_bus.h
mem_encrypt.h
memblock.h
memcontrol.h
mm: memcontrol: fix occasional OOMs due to proportional memory.low reclaim
2021-08-26 08:36:22 -04:00
memfd.h
memory.h
memory_hotplug.h
mempolicy.h
mempool.h
memremap.h
memstick.h
memstick: Skip allocating card when removing host
2020-10-07 08:01:25 +02:00
mic_bus.h
micrel_phy.h
microchipphy.h
migrate.h
migrate_mode.h
mii.h
miscdevice.h
mISDNdsp.h
mISDNhw.h
mISDNif.h
mm-arch-hooks.h
mm.h
mm/thp: unmap_mapping_page() to fix THP truncate_cleanup_page()
2021-06-30 08:47:53 -04:00
mm_inline.h
mm_types.h
mm: fix struct page layout on 32-bit systems
2021-05-19 10:08:31 +02:00
mm_types_task.h
mman.h
mmdebug.h
mm: add VM_WARN_ON_ONCE_PAGE() macro
2021-06-30 08:47:51 -04:00
mmiotrace.h
mmu_context.h
mmu_notifier.h
mmzone.h
mm: replace memmap_context by meminit_context
2020-10-07 08:01:29 +02:00
mnt_namespace.h
mod_devicetable.h
module.h
modules: inherit TAINT_PROPRIETARY_MODULE
2021-05-11 14:04:04 +02:00
module_signature.h
moduleloader.h
moduleparam.h
mount.h
moxtet.h
mpage.h
mpi.h
mpls.h
mpls_iptunnel.h
mroute.h
mroute6.h
mroute_base.h
msdos_fs.h
msg.h
msi.h
PCI/MSI: Protect msi_desc::masked for multi-MSI
2021-08-18 08:57:03 +02:00
mutex.h
locking/mutex: Fix non debug version of mutex_lock_io_nested()
2021-03-30 14:35:29 +02:00
mv643xx.h
mv643xx_eth.h
mv643xx_i2c.h
mvebu-pmsu.h
mxm-wmi.h
n_r3964.h
namei.h
nd.h
ndctl.h
net.h
net: introduce helper sendpage_ok() in include/linux/net.h
2020-10-14 10:33:00 +02:00
netdev_features.h
net: fix mistake path for netdev_features_strings
2021-07-19 08:53:11 +02:00
netdevice.h
net: don't unconditionally copy_from_user a struct ifreq for socket ioctls
2021-09-03 10:08:16 +02:00
netfilter.h
netfilter: clear skb->next in NF_HOOK_LIST()
2020-12-02 08:49:44 +01:00
netfilter_bridge.h
netfilter_defs.h
netfilter_ingress.h
netfilter_ipv4.h
netfilter: use actual socket sk rather than skb sk when routing harder
2020-11-18 19:20:17 +01:00
netfilter_ipv6.h
netfilter: use actual socket sk rather than skb sk when routing harder
2020-11-18 19:20:17 +01:00
netlink.h
netpoll.h
nfs.h
nfs3.h
nfs4.h
nfs_fs.h
NFS: nfs_find_open_context() may only select open files
2021-07-20 16:10:48 +02:00
nfs_fs_i.h
nfs_fs_sb.h
nfs_iostat.h
nfs_page.h
NFS: Fix races nfs_page_group_destroy() vs nfs_destroy_unlinked_subrequests()
2020-10-01 13:17:52 +02:00
nfs_xdr.h
nfsacl.h
nl802154.h
nls.h
nmi.h
node.h
mm: don't rely on system state to detect hot-plug operations
2020-10-07 08:01:30 +02:00
nodemask.h
nospec.h
notifier.h
ns_common.h
nsc_gpio.h
nsproxy.h
ntb.h
ntb_transport.h
nubus.h
numa.h
nvme-fc-driver.h
nvme-fc.h
nvme-rdma.h
nvme-tcp.h
nvme.h
nvmem-consumer.h
nvmem-provider.h
nvram.h
objagg.h
of.h
of: fix linker-section match-table corruption
2021-01-06 14:48:37 +01:00
of_address.h
of_clk.h
of_device.h
of_dma.h
of_fdt.h
of_gpio.h
of_graph.h
of_iommu.h
of_irq.h
of_mdio.h
of_net.h
of_pci.h
of_pdt.h
of_platform.h
of_reserved_mem.h
oid_registry.h
olpc-ec.h
omap-dma.h
omap-gpmc.h
omap-iommu.h
omap-mailbox.h
omapfb.h
once.h
once: Fix panic when module unload
2021-09-03 10:08:12 +02:00
oom.h
mm, oom: make the calculation of oom badness more accurate
2021-09-03 10:08:12 +02:00
openvswitch.h
oprofile.h
osq_lock.h
overflow.h
overflow: Include header file with SIZE_MAX declaration
2020-10-29 09:57:51 +01:00
packing.h
padata.h
page-flags-layout.h
page-flags.h
page-isolation.h
page_counter.h
page_ext.h
page_idle.h
page_owner.h
mm/page_owner: change split_page_owner to take a count
2020-10-29 09:57:52 +01:00
page_ref.h
pageblock-flags.h
pagemap.h
mm, futex: fix shared futex pgoff on shmem huge page
2021-06-30 08:47:55 -04:00
pagevec.h
pagewalk.h
parman.h
parport.h
parport_pc.h
parser.h
pata_arasan_cf_data.h
patchkey.h
path.h
pch_dma.h
pci-acpi.h
pci-ats.h
pci-dma-compat.h
pci-ecam.h
pci-ep-cfs.h
pci-epc.h
pci-epf.h
pci-p2pdma.h
pci.h
PCI/IOV: Mark VFs as not implementing PCI_COMMAND_MEMORY
2020-10-29 09:57:54 +01:00
pci_hotplug.h
pci_ids.h
pda_power.h
pe.h
percpu-defs.h
percpu-refcount.h
percpu-rwsem.h
percpu.h
percpu_counter.h
perf_event.h
perf_regs.h
personality.h
pfn.h
pfn_t.h
phonet.h
phy.h
phy_fixed.h
phy_led_triggers.h
phylink.h
pid.h
pid_namespace.h
pim.h
pipe_fs_i.h
pkeys.h
pktcdvd.h
pl320-ipc.h
pl353-smc.h
platform_device.h
plist.h
pm-trace.h
pm.h
PM: runtime: Fix unpaired parent child_count for force_resume
2021-05-19 10:08:20 +02:00
pm2301_charger.h
pm_clock.h
pm_domain.h
pm_opp.h
pm_qos.h
pm_runtime.h
PM: runtime: Add pm_runtime_resume_and_get to deal with usage counter
2020-12-30 11:50:53 +01:00
pm_wakeirq.h
pm_wakeup.h
pmbus.h
pmu.h
pnfs_osd_xdr.h
pnp.h
poison.h
poll.h
posix-clock.h
posix-timers.h
posix_acl.h
posix_acl_xattr.h
power_supply.h
powercap.h
ppp-comp.h
ppp_channel.h
ppp_defs.h
pps-gpio.h
pps_kernel.h
pr.h
prandom.h
random32: Fix implicit truncation warning in prandom_seed_state()
2021-07-14 16:53:17 +02:00
preempt.h
prefetch.h
i40e: optimise prefetch page refcount
2020-12-30 11:50:55 +01:00
prime_numbers.h
printk.h
proc_fs.h
proc: fix lookup in /proc/net subdirectories after setns(2)
2021-01-12 20:16:10 +01:00
proc_ns.h
processor.h
profile.h
projid.h
property.h
psci.h
pseudo_fs.h
psi.h
psi_types.h
psp-sev.h
pstore.h
pstore_ram.h
pti.h
ptp_classify.h
ptp_clock_kernel.h
ptp: improve max_adj check against unreasonable values
2021-06-23 14:41:26 +02:00
ptr_ring.h
ptrace.h
purgatory.h
pvclock_gtod.h
pwm.h
pwm_backlight.h
pxa2xx_ssp.h
pxa168_eth.h
qcom-geni-se.h
serial: qcom_geni_serial: To correct QUP Version detection logic
2020-11-01 12:01:06 +01:00
qcom_scm.h
qnx6_fs.h
quota.h
quotaops.h
radix-tree.h
raid_class.h
ramfs.h
random.h
range.h
ras.h
ratelimit.h
rational.h
rbtree.h
rbtree_augmented.h
rbtree_latch.h
rcu_node_tree.h
rcu_segcblist.h
rcu_sync.h
rculist.h
rculist_bl.h
rculist_nulls.h
rcupdate.h
rcu/nocb: Perform deferred wake up before last idle's need_resched() check
2021-03-04 10:26:47 +01:00
rcupdate_wait.h
rcutiny.h
rcutree.h
rcuwait.h
reboot-mode.h
reboot.h
reciprocal_div.h
refcount.h
regmap.h
regset.h
relay.h
remoteproc.h
reset-controller.h
reset.h
resource.h
resource_ext.h
restart_block.h
rfkill.h
rhashtable-types.h
rhashtable.h
ring_buffer.h
rio.h
rio_drv.h
rio_ids.h
rio_regs.h
rmap.h
mm/thp: try_to_unmap() use TTU_SYNC for safe splitting
2021-06-30 08:47:52 -04:00
rmi.h
rndis.h
rodata_test.h
root_dev.h
rpmsg.h
rslib.h
rtc.h
rtmutex.h
rtnetlink.h
rtsx_common.h
rtsx_pci.h
rtsx_usb.h
rwlock.h
rwlock_api_smp.h
rwlock_types.h
rwsem.h
rwsem: Implement down_read_interruptible
2021-01-09 13:44:55 +01:00
s3c_adc_battery.h
sbitmap.h
scatterlist.h
scc.h
sched.h
sched_clock.h
scif.h
scmi_protocol.h
scpi_protocol.h
screen_info.h
sctp.h
scx200.h
scx200_gpio.h
sdb.h
sdla.h
seccomp.h
securebits.h
security.h
fix namespaced fscaps when !CONFIG_SECURITY
2020-12-30 11:51:30 +01:00
sed-opal.h
seg6.h
seg6_genl.h
seg6_hmac.h
seg6_iptunnel.h
seg6_local.h
selection.h
sem.h
semaphore.h
seq_buf.h
seq_buf: Avoid type mismatch for seq_buf_init
2020-12-30 11:51:21 +01:00
seq_file.h
seq_file_net.h
seqlock.h
seqno-fence.h
serdev.h
serial.h
serial_8250.h
serial_bcm63xx.h
serial_core.h
serial_max3100.h
serial_pnx8xxx.h
serial_s3c.h
serial_sci.h
serio.h
set_memory.h
sfi.h
sfi_acpi.h
sfp.h
sh_clk.h
sh_dma.h
sh_eth.h
sh_intc.h
sh_timer.h
shdma-base.h
shm.h
shmem_fs.h
shrinker.h
signal.h
signal_types.h
signalfd.h
siox.h
siphash.h
sirfsoc_dma.h
sizes.h
skb_array.h
skbuff.h
net: skbuff: disambiguate argument and member for skb_list_walk_safe helper
2021-01-23 15:57:57 +01:00
skmsg.h
bpf, sockmap: Fix sk->prot unhash op reset
2021-04-14 08:24:12 +02:00
slab.h
slab_def.h
slimbus.h
slub_def.h
sm501-regs.h
sm501.h
smc91x.h
smc911x.h
smp.h
smp: Fix smp_call_function_single_async prototype
2021-05-14 09:44:33 +02:00
smpboot.h
smsc911x.h
smscphy.h
sock_diag.h
socket.h
net: make get_net_ns return error if NET_NS is disabled
2021-06-23 14:41:25 +02:00
sonet.h
sony-laptop.h
sonypi.h
sort.h
sound.h
soundcard.h
spinlock.h
spinlock_api_smp.h
spinlock_api_up.h
spinlock_types.h
spinlock_types_up.h
spinlock_up.h
splice.h
spmi.h
sram.h
srcu.h
srcutiny.h
srcutree.h
ssbi.h
stackdepot.h
stackleak.h
stackprotector.h
stacktrace.h
start_kernel.h
stat.h
statfs.h
static_key.h
stddef.h
stm.h
stmmac.h
stmp3xxx_rtc_wdt.h
stmp_device.h
stop_machine.h
stop_machine: mark helpers __always_inline
2021-03-17 17:03:56 +01:00
string.h
string_helpers.h
stringhash.h
stringify.h
sungem_phy.h
sunserialcore.h
sunxi-rsb.h
superhyway.h
suspend.h
svga.h
sw842.h
swab.h
swait.h
swap.h
swap: fix swapfile read/write offset
2021-03-07 12:20:49 +01:00
swap_cgroup.h
swap_slots.h
swapfile.h
swapops.h
swiotlb.h
swiotlb: using SIZE_MAX needs limits.h included
2020-11-24 13:29:04 +01:00
switchtec.h
sxgbe_platform.h
sync_core.h
sync_file.h
synclink.h
sys.h
sys_soc.h
syscalls.h
syscore_ops.h
sysctl.h
sysfs.h
sysfs: Add sysfs_emit and sysfs_emit_at to format sysfs output
2021-03-07 12:20:48 +01:00
syslog.h
sysrq.h
sysv_fs.h
t10-pi.h
task_io_accounting.h
task_io_accounting_ops.h
task_work.h
taskstats_kern.h
tboot.h
tc.h
tca6416_keypad.h
tcp.h
tee_drv.h
tee: Correct inappropriate usage of TEE_SHM_DMA_BUF flag
2021-08-15 13:08:02 +02:00
textsearch.h
textsearch_fsm.h
tfrc.h
thermal.h
thread_info.h
kernel, fs: Introduce and use set_restart_fn() and arch_set_restart_data()
2021-03-24 11:26:44 +01:00
threads.h
thunderbolt.h
ti-emif-sram.h
ti_wilink_st.h
tick.h
tifm.h
timb_dma.h
timb_gpio.h
time.h
time32.h
time64.h
time: Prevent undefined behaviour in timespec64_to_ns()
2020-11-18 19:20:15 +01:00
timecounter.h
timekeeper_internal.h
timekeeping.h
timekeeping32.h
timer.h
timerfd.h
timeriomem-rng.h
timerqueue.h
timex.h
tnum.h
topology.h
torture.h
toshiba.h
tpm.h
tpm_command.h
tpm_eventlog.h
trace.h
trace_clock.h
trace_events.h
trace_seq.h
seq_buf: Avoid type mismatch for seq_buf_init
2020-12-30 11:51:21 +01:00
tracefs.h
tracehook.h
tracepoint-defs.h
tracepoint.h
tracepoint: Add tracepoint_probe_register_may_exist() for BPF tracing
2021-07-14 16:53:08 +02:00
transport_class.h
ts-nbus.h
tsacct_kern.h
tty.h
tty: Fix ->session locking
2020-12-11 13:23:28 +01:00
tty_driver.h
tty: fix return value for unsupported ioctls
2021-05-14 09:44:22 +02:00
tty_flip.h
tty_ldisc.h
typecheck.h
types.h
u64_stats_sync.h
u64_stats,lockdep: Fix u64_stats_init() vs lockdep
2021-03-30 14:35:22 +02:00
uaccess.h
ucb1400.h
ucs2_string.h
udp.h
uidgid.h
uio.h
udp: fix skb_copy_and_csum_datagram with odd segment sizes
2021-02-17 10:35:19 +01:00
uio_driver.h
umh.h
unicode.h
uprobes.h
usb.h
usb_usual.h
usb-storage: Add quirk to defeat Kindle's automatic unload
2021-03-24 11:26:40 +01:00
usbdevice_fs.h
user-return-notifier.h
user.h
user_namespace.h
userfaultfd_k.h
util_macros.h
uts.h
utsname.h
uuid.h
vbox_utils.h
verification.h
vermagic.h
vexpress.h
vfio.h
vfs.h
vga_switcheroo.h
vgaarb.h
via-core.h
via-gpio.h
via.h
via_i2c.h
videodev2.h
virtio.h
virtio: Protect vqs list access
2021-08-26 08:36:16 -04:00
virtio_byteorder.h
virtio_caif.h
virtio_config.h
virtio_console.h
virtio_net.h
virtio_net: Do not pull payload in skb->head
2021-05-22 11:38:28 +02:00
virtio_ring.h
virtio_vsock.h
vsock/virtio: add transport parameter to the virtio_transport_reset_no_sock()
2020-10-07 08:01:24 +02:00
visorbus.h
vlynq.h
vm_event_item.h
vm_sockets.h
vmacache.h
vmalloc.h
vme.h
vmpressure.h
vmstat.h
vmw_vmci_api.h
vmw_vmci_defs.h
vringh.h
vt.h
vt_buffer.h
vt_kern.h
vtime.h
w1-gpio.h
w1.h
wait.h
rq-qos: fix missed wake-ups in rq_qos_throttle try two
2021-07-19 08:53:16 +02:00
wait_bit.h
watchdog.h
win_minmax.h
wireless.h
wkup_m3_ipc.h
wl12xx.h
wm97xx.h
wmi.h
workqueue.h
writeback.h
ww_mutex.h
xarray.h
XArray: add xas_split
2021-06-10 13:37:14 +02:00
xattr.h
xxhash.h
xz.h
yam.h
z2_battery.h
zbud.h
zconf.h
zlib.h
zorro.h
zpool.h
zsmalloc.h
zsmalloc: account the number of compacted pages correctly
2021-03-07 12:20:49 +01:00
zstd.h
zutil.h