Shakeel Butt
9c4e6b1a70
mm, mlock, vmscan: no more skipping pagevecs
...
When a thread mlocks an address space backed either by file pages which
are currently not present in memory or swapped out anon pages (not in
swapcache), a new page is allocated and added to the local pagevec
(lru_add_pvec), I/O is triggered and the thread then sleeps on the page.
On I/O completion, the thread can wake on a different CPU, the mlock
syscall will then sets the PageMlocked() bit of the page but will not be
able to put that page in unevictable LRU as the page is on the pagevec
of a different CPU. Even on drain, that page will go to evictable LRU
because the PageMlocked() bit is not checked on pagevec drain.
The page will eventually go to right LRU on reclaim but the LRU stats
will remain skewed for a long time.
This patch puts all the pages, even unevictable, to the pagevecs and on
the drain, the pages will be added on their LRUs correctly by checking
their evictability. This resolves the mlocked pages on pagevec of other
CPUs issue because when those pagevecs will be drained, the mlocked file
pages will go to unevictable LRU. Also this makes the race with munlock
easier to resolve because the pagevec drains happen in LRU lock.
However there is still one place which makes a page evictable and does
PageLRU check on that page without LRU lock and needs special attention.
TestClearPageMlocked() and isolate_lru_page() in clear_page_mlock().
#0 : __pagevec_lru_add_fn #1 : clear_page_mlock
SetPageLRU() if (!TestClearPageMlocked())
return
smp_mb() // <--required
// inside does PageLRU
if (!PageMlocked()) if (isolate_lru_page())
move to evictable LRU putback_lru_page()
else
move to unevictable LRU
In '#1 ', TestClearPageMlocked() provides full memory barrier semantics
and thus the PageLRU check (inside isolate_lru_page) can not be
reordered before it.
In '#0 ', without explicit memory barrier, the PageMlocked() check can be
reordered before SetPageLRU(). If that happens, '#0 ' can put a page in
unevictable LRU and '#1 ' might have just cleared the Mlocked bit of that
page but fails to isolate as PageLRU fails as '#0 ' still hasn't set
PageLRU bit of that page. That page will be stranded on the unevictable
LRU.
There is one (good) side effect though. Without this patch, the pages
allocated for System V shared memory segment are added to evictable LRUs
even after shmctl(SHM_LOCK) on that segment. This patch will correctly
put such pages to unevictable LRU.
Link: http://lkml.kernel.org/r/20171121211241.18877-1-shakeelb@google.com
Signed-off-by: Shakeel Butt <shakeelb@google.com>
Acked-by: Vlastimil Babka <vbabka@suse.cz>
Cc: Jérôme Glisse <jglisse@redhat.com>
Cc: Huang Ying <ying.huang@intel.com>
Cc: Tim Chen <tim.c.chen@linux.intel.com>
Cc: Michal Hocko <mhocko@kernel.org>
Cc: Greg Thelen <gthelen@google.com>
Cc: Johannes Weiner <hannes@cmpxchg.org>
Cc: Balbir Singh <bsingharora@gmail.com>
Cc: Minchan Kim <minchan@kernel.org>
Cc: Shaohua Li <shli@fb.com>
Cc: Jan Kara <jack@suse.cz>
Cc: Nicholas Piggin <npiggin@gmail.com>
Cc: Dan Williams <dan.j.williams@intel.com>
Cc: Mel Gorman <mgorman@suse.de>
Cc: Hugh Dickins <hughd@google.com>
Cc: Vlastimil Babka <vbabka@suse.cz>
Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
2018-02-21 15:35:42 -08:00
..
amba
avf
bcma
byteorder
can
can: dev: Add support for limiting configured bitrate
2018-01-16 15:11:32 +01:00
ceph
clk
crush
decompress
dma
dsa
extcon
firmware /meson
fpga
fsl
gpio
The is the bulk of GPIO changes for the v4.16 kernel cycle.
2018-01-31 12:25:27 -08:00
hsi
iio
Staging/IIO patches for 4.16-rc1
2018-02-01 09:51:57 -08:00
input
irqchip
isdn
lockd
lockd: convert nlm_rqst.a_count from atomic_t to refcount_t
2018-01-14 23:06:30 -05:00
mailbox
mfd
RTC for 4.16
2018-02-02 14:19:19 -08:00
mlx4
mlx5
Second pull request for 4.16 merge window
2018-02-06 11:09:45 -08:00
mmc
mmc: slot-gpio: add a helper to check capability of GPIO WP detection
2018-01-18 09:08:56 +01:00
mtd
Core changes:
2018-01-29 09:58:36 +01:00
mux
netfilter
Merge git://git.kernel.org/pub/scm/linux/kernel/git/davem/net-next
2018-01-31 14:31:10 -08:00
netfilter_arp
netfilter_bridge
netfilter_ipv4
netfilter_ipv6
perf
phy
pinctrl
pinctrl: remove include file from <linux/device.h>
2018-02-03 12:10:09 -08:00
platform_data
platform-drivers-x86 for v4.16-1
2018-02-06 15:30:52 -08:00
power
qed
raid
regulator
regulator: add PM suspend and resume hooks
2018-01-26 14:43:55 +00:00
remoteproc
reset
rpmsg
rtc
sched
include/linux/sched/mm.h: re-inline mmdrop()
2018-02-21 15:35:42 -08:00
soc
ARM: SoC driver updates for 4.16
2018-02-01 16:35:31 -08:00
soundwire
spi
ssb
sunrpc
NFS client bugfixes and latency improvements for Linux 4.16
2018-02-09 14:55:30 -08:00
ulpi
unaligned
usb
uwb
wimax
8250_pci.h
a.out.h
acct.h
acpi.h
device property: Constify device_get_match_data()
2018-02-12 10:41:11 +01:00
acpi_dma.h
acpi_iort.h
acpi_pmtmr.h
adb.h
adfs_fs.h
aer.h
agp_backend.h
agpgart.h
ahci-remap.h
ahci_platform.h
aio.h
alarmtimer.h
altera_jtaguart.h
altera_uart.h
amd-iommu.h
amifd.h
amifdreg.h
anon_inodes.h
apm-emulation.h
apm_bios.h
apple-gmux.h
apple_bl.h
arch_topology.h
sched/cpufreq: Remove arch_scale_freq_capacity()'s 'sd' parameter
2018-01-10 12:53:34 +01:00
arm-cci.h
arm-smccc.h
arm/arm64: smccc: Implement SMCCC v1.1 inline primitive
2018-02-06 22:54:15 +00:00
arm_sdei.h
firmware: arm_sdei: Add driver for Software Delegated Exceptions
2018-01-13 10:44:56 +00:00
asn1.h
asn1_ber_bytecode.h
asn1_decoder.h
assoc_array.h
assoc_array_priv.h
async.h
async_tx.h
ata.h
scsi: ata: enhance the definition of SET MAX feature field value
2018-01-10 23:25:08 -05:00
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
atmel_tc.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
lockdep: Convert some users to const
2018-01-18 11:56:49 +01:00
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
bfin_mac.h
binfmts.h
bio.h
Merge branch 'for-4.16/block' of git://git.kernel.dk/linux-block
2018-01-29 11:51:49 -08:00
bit_spinlock.h
bitfield.h
bitmap.h
lib: optimize cpumask_next_and()
2018-02-06 18:32:44 -08:00
bitops.h
bitrev.h
blk-cgroup.h
blkcg: simplify statistic accumulation code
2018-01-16 08:56:36 -07:00
blk-mq-pci.h
blk-mq-rdma.h
blk-mq-virtio.h
blk-mq.h
blk_types.h
blk-mq: introduce BLK_STS_DEV_RESOURCE
2018-01-30 20:18:28 -07:00
blkdev.h
block: fix a typo in comment of BLK_MQ_POLL_STATS_BKTS
2018-02-15 08:27:06 -07:00
blkpg.h
blktrace_api.h
blockgroup_lock.h
bma150.h
bootmem.h
bottom_half.h
bpf-cgroup.h
bpf.h
bpf: offload: report device information about offloaded maps
2018-01-18 22:54:25 +01:00
bpf_trace.h
bpf_types.h
bpf_verifier.h
bpf: export function to write into verifier log buffer
2018-01-10 13:49:36 +01:00
brcmphy.h
bsearch.h
bsg-lib.h
bsg.h
btree-128.h
btree-type.h
btree.h
btrfs.h
buffer_head.h
for-linus-20180204
2018-02-04 11:16:35 -08:00
bug.h
build_bug.h
build_bug.h: remove BUILD_BUG_ON_NULL()
2018-02-06 18:32:46 -08: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
Merge branches 'clk-remove-asm-clkdev', 'clk-debugfs-fixes', 'clk-renesas' and 'clk-meson' into clk-next
2018-01-26 16:43:32 -08:00
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
coda_psdev.h
compaction.h
compat.h
signal: Unify and correct copy_siginfo_from_user32
2018-01-15 17:55:59 -06:00
compiler-clang.h
kasan: add compiler support for clang
2018-02-06 18:32:42 -08:00
compiler-gcc.h
Merge branch 'linus' of git://git.kernel.org/pub/scm/linux/kernel/git/herbert/crypto-2.6
2018-02-12 08:57:21 -08:00
compiler-intel.h
compiler.h
Merge branch 'linus' of git://git.kernel.org/pub/scm/linux/kernel/git/herbert/crypto-2.6
2018-02-12 08:57:21 -08:00
compiler_types.h
completion.h
component.h
concap.h
configfs.h
connector.h
console.h
console_struct.h
consolemap.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
cper.h
cpu.h
Merge branch 'x86-pti-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip
2018-01-14 09:51:25 -08:00
cpu_cooling.h
cpu_pm.h
cpu_rmap.h
cpufeature.h
cpufreq.h
cpufreq: Add and use cpufreq_for_each_{valid_,}entry_idx()
2018-02-08 10:21:39 +01:00
cpuhotplug.h
Merge branch 'for-linus' of git://git.armlinux.org.uk/~rmk/linux-arm
2018-02-02 09:50:51 -08:00
cpuidle.h
Merge branches 'pm-cpuidle' and 'pm-opp'
2018-02-15 12:01:53 +01:00
cpumask.h
cpumask: Make for_each_cpu_wrap() available on UP as well
2018-02-16 10:40:24 +01:00
cpuset.h
kernel/cpuset: current_cpuset_is_being_rebound can be boolean
2018-02-06 18:32:47 -08:00
crash_core.h
kdump: write correct address of mem_section into vmcoreinfo
2018-01-13 10:42:48 -08:00
crash_dump.h
crash_dump: is_kdump_kernel can be boolean
2018-02-06 18:32:47 -08:00
crc-ccitt.h
crc-itu-t.h
crc-t10dif.h
crc4.h
crc7.h
crc8.h
crc16.h
crc32.h
crc32c.h
cred.h
crypto.h
crypto: hash - prevent using keyed hashes without setting key
2018-01-12 23:03:37 +11:00
cryptohash.h
cs5535.h
ctype.h
cuda.h
cyclades.h
davinci_emac.h
dax.h
dca.h
dcache.h
vfs: factor out helpers d_instantiate_anon() and d_alloc_anon()
2018-01-24 11:25:59 +01:00
dccp.h
dcookies.h
debug_locks.h
debugfs.h
debugobjects.h
delay.h
delayacct.h
delayacct: Account blkio completion on the correct task
2018-01-16 03:29:36 +01:00
delayed_call.h
dell-led.h
devcoredump.h
devfreq-event.h
devfreq.h
devfreq_cooling.h
device-mapper.h
dm mpath: delay the retry of a request if the target responded as busy
2018-01-29 13:44:54 -05:00
device.h
pinctrl: remove include file from <linux/device.h>
2018-02-03 12:10:09 -08:00
device_cgroup.h
devpts_fs.h
digsig.h
dio.h
dirent.h
dlm.h
dlm_plock.h
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-direct: reject too small dma masks
2018-01-15 09:35:15 +01:00
dma-direction.h
dma-fence-array.h
dma-fence.h
dma-iommu.h
dma-mapping.h
dma-mapping: fix a comment typo
2018-02-12 15:59:08 +00:00
dma_remapping.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
edma.h
eeprom_93cx6.h
eeprom_93xx46.h
efi-bgrt.h
efi.h
Merge branch 'next-tpm' of git://git.kernel.org/pub/scm/linux/kernel/git/jmorris/linux-security
2018-01-31 13:12:31 -08:00
efs_vh.h
eisa.h
elevator.h
block: Unexport elv_register_queue() and elv_unregister_queue()
2018-01-18 12:54:41 -07:00
elf-fdpic.h
elf-randomize.h
elf.h
elfcore-compat.h
elfcore.h
elfnote.h
enclosure.h
err.h
errno.h
error-injection.h
error-injection: Add injectable error types
2018-01-12 17:33:38 -08:00
errqueue.h
errseq.h
etherdevice.h
net: Extra '_get' in declaration of arch_get_platform_mac_address
2018-02-08 15:13:30 -05:00
ethtool.h
eventfd.h
eventpoll.h
evm.h
export.h
exportfs.h
ext2_fs.h
extable.h
extcon-provider.h
extcon.h
f2fs_fs.h
f2fs: support inode creation time
2018-01-25 14:10:39 -08:00
f75375s.h
falloc.h
fanotify.h
fault-inject.h
fb.h
fbdev changes for v4.16:
2018-02-07 13:10:43 -08:00
fbcon.h
fcdevice.h
fcntl.h
fd.h
fddidevice.h
fdtable.h
vfs, fdtable: Prevent bounds-check bypass via speculative execution
2018-01-30 21:54:32 +01:00
fec.h
file.h
filter.h
bpf: make unknown opcode handling more robust
2018-01-26 16:42:05 -08:00
fips.h
firewire.h
firmware-map.h
firmware.h
fixp-arith.h
flat.h
flex_array.h
flex_proportions.h
fmc-sdb.h
fmc.h
font.h
frame.h
freezer.h
frontswap.h
fs.h
New in this version:
2018-01-31 10:18:00 -08:00
fs_enet_pd.h
fs_pin.h
fs_stack.h
fs_struct.h
fs_uart_pd.h
fscache-cache.h
fscache.h
fscrypt.h
fscrypt: move fscrypt_symlink_data to fscrypt_private.h
2018-01-11 23:30:08 -05:00
fscrypt_notsupp.h
fscrypt: remove 'ci' parameter from fscrypt_put_encryption_info()
2018-01-11 23:30:13 -05:00
fscrypt_supp.h
fscrypt: remove 'ci' parameter from fscrypt_put_encryption_info()
2018-01-11 23:30:13 -05:00
fsi.h
fsl-diu-fb.h
fsl_devices.h
fsl_hypervisor.h
fsl_ifc.h
fsldma.h
fsnotify.h
fsnotify_backend.h
ftrace.h
init_task out-of-lining
2018-01-29 09:08:34 -08:00
ftrace_irq.h
futex.h
fwnode.h
device property: Constify device_get_match_data()
2018-02-12 10:41:11 +01:00
gameport.h
gcd.h
genalloc.h
genetlink.h
genhd.h
block: allow gendisk's request_queue registration to be deferred
2018-01-15 08:41:38 -07:00
genl_magic_func.h
include/linux/genl_magic_func.h: remove own BUILD_BUG_ON*() defines
2018-02-06 18:32:46 -08:00
genl_magic_struct.h
getcpu.h
gfp.h
glob.h
goldfish.h
gpio-pxa.h
gpio.h
gpio_keys.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
hiddev.h
hidraw.h
highmem.h
highuid.h
hil.h
hil_mlc.h
hippidevice.h
hmm.h
host1x.h
hp_sdc.h
hpet.h
hrtimer.h
hrtimer: Implement support for softirq based hrtimers
2018-01-16 09:51:22 +01:00
htcpld.h
huge_mm.h
hugetlb.h
hugetlb, mbind: fall back to default policy if vma is NULL
2018-01-31 17:18:40 -08: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-gpio.h
i2c-mux-gpio.h
i2c-mux.h
i2c-ocores.h
i2c-omap.h
i2c-pca-platform.h
i2c-pnx.h
i2c-pxa.h
i2c-smbus.h
i2c-xiic.h
i2c.h
i2c: add 'set_sda' to bus_recovery_info
2018-01-16 00:04:19 +01:00
i8042.h
i8253.h
icmp.h
icmpv6.h
ide.h
idr.h
idr: Add documentation
2018-02-06 16:41:29 -05:00
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
if_phonet.h
if_pppol2tp.h
if_pppox.h
if_tap.h
if_team.h
if_tun.h
tuntap: fix for "tuntap: XDP transmission"
2018-01-10 15:52:49 -05:00
if_tunnel.h
if_vlan.h
igmp.h
ihex.h
ima.h
imx-media.h
in.h
in6.h
inet.h
inet_diag.h
inetdevice.h
devinet_ioctl(): take copyin/copyout to caller
2018-01-24 19:13:45 -05:00
init.h
x86/retpoline: Avoid retpolines for built-in __init functions
2018-02-02 12:28:27 +01:00
init_ohci1394_dma.h
init_task.h
Expand INIT_STRUCT_PID and remove
2018-01-17 11:30:16 +00:00
initrd.h
inotify.h
input-polldev.h
input.h
integrity.h
intel-iommu.h
iommu/vt-d: Add a check for 5-level paging support
2018-01-17 15:02:50 +01:00
intel-pti.h
intel-svm.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.h
ioc3.h
ioc4.h
iocontext.h
iomap.h
iommu-common.h
iommu-helper.h
iommu.h
iopoll.h
ioport.h
kernel/resource: iomem_is_exclusive can be boolean
2018-02-06 18:32:47 -08:00
ioprio.h
iova.h
ip.h
ipack.h
ipc.h
ipc_namespace.h
ipmi-fru.h
ipmi.h
ipmi_smi.h
ipv6.h
ipv6_route.h
irq.h
irq_cpustat.h
irq_poll.h
irq_sim.h
irq_work.h
irqbypass.h
irqchip.h
irqdesc.h
irqdomain.h
irqflags.h
init_task out-of-lining
2018-01-29 09:08:34 -08:00
irqhandler.h
irqnr.h
irqreturn.h
isa.h
isapnp.h
iscsi_boot_sysfs.h
iscsi_ibft.h
isdn.h
isdn_divertif.h
isdn_ppp.h
isdnif.h
isicom.h
iversion.h
iversion: Rename make inode_cmp_iversion{+raw} to inode_eq_iversion{+raw}
2018-02-01 08:15:25 -05:00
jbd2.h
jhash.h
jiffies.h
journal-head.h
joystick.h
jump_label.h
jump_label: Add branch hints to static_branch_{un,}likely()
2018-02-06 10:28:57 +01:00
jump_label_ratelimit.h
jz4740-adc.h
jz4780-nemc.h
kallsyms.h
kallsyms: let print_ip_sym() print raw addresses
2018-02-06 18:32:45 -08:00
kasan-checks.h
kasan.h
kasan: clean up KASAN_SHADOW_SCALE_SHIFT usage
2018-02-06 18:32:43 -08:00
kbd_diacr.h
kbd_kern.h
kbuild.h
kconfig.h
Kbuild: always define endianess in kconfig.h
2018-02-21 15:35:42 -08:00
kcore.h
vfs/proc/kcore, x86/mm/kcore: Fix SMAP fault when dumping vsyscall user page
2018-02-13 09:15:58 +01:00
kcov.h
kd.h
kdb.h
kdebug.h
kdev_t.h
kern_levels.h
kernel-page-flags.h
kernel.h
kernel_stat.h
kernelcapi.h
kernfs.h
kexec.h
key-type.h
key.h
keyboard.h
kfifo.h
kgdb.h
khugepaged.h
klist.h
kmemleak.h
kmod.h
kmsg_dump.h
kobj_map.h
kobject.h
kobject_ns.h
kprobes.h
error-injection: Separate error-injection from kprobe
2018-01-12 17:33:38 -08:00
kref.h
ks0108.h
ks8842.h
ks8851_mll.h
ksm.h
kthread.h
ktime.h
kvm_host.h
kvm_irqfd.h
kvm_para.h
kvm_types.h
l2tp.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.h
leds_pwm.h
libata.h
libfdt.h
libfdt: remove unnecessary include directive from <linux/libfdt.h>
2018-01-11 14:39:07 -06:00
libfdt_env.h
libgcc.h
libnvdimm.h
acpi: nfit: add persistent memory control flag for nd_region
2018-02-01 15:01:15 -07:00
libps2.h
license.h
lightnvm.h
linkage.h
linux_logo.h
lis3lv02d.h
list.h
list_bl.h
list_lru.h
list_nulls.h
list_sort.h
livepatch.h
livepatch: Remove immediate feature
2018-01-11 10:58:03 +01:00
llc.h
llist.h
lockdep.h
Merge branch 'locking-core-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip
2018-01-30 10:44:56 -08:00
lockref.h
lib/lockref: __lockref_is_dead can be boolean
2018-02-06 18:32:47 -08:00
log2.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
math64.h
max17040_battery.h
mbcache.h
mbus.h
mc6821.h
mc146818rtc.h
mcb.h
mdev.h
mdio-bitbang.h
mdio-mux.h
mdio.h
mei_cl_bus.h
mem_encrypt.h
memblock.h
mm/memblock: memblock_is_map/region_memory can be boolean
2018-02-06 18:32:47 -08:00
memcontrol.h
mm: memcontrol: fix NR_WRITEBACK leak in memcg and system stats
2018-02-21 15:35:42 -08:00
memory.h
memory_hotplug.h
mempolicy.h
mempool.h
memremap.h
memstick.h
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
libnvdimm for 4.16
2018-02-06 10:41:33 -08:00
mm_inline.h
x86/mm, mm/hwpoison: Don't unconditionally unmap kernel 1:1 pages
2018-02-13 16:25:06 +01:00
mm_types.h
mm: remove reference to PG_buddy
2018-01-31 17:18:38 -08:00
mm_types_task.h
mman.h
mmdebug.h
mmiotrace.h
mmu_context.h
mmu_notifier.h
mm, mmu_notifier: annotate mmu notifiers with blockable invalidate callbacks
2018-01-31 17:18:38 -08:00
mmzone.h
include/linux/mmzone.h: fix explanation of lower bits in the SPARSEMEM mem_map pointer
2018-01-31 17:18:39 -08:00
mnt_namespace.h
mod_devicetable.h
module.h
kernel/module: module_is_live can be boolean
2018-02-06 18:32:47 -08:00
moduleloader.h
moduleparam.h
mount.h
mpage.h
mpi.h
mpls.h
mpls_iptunnel.h
mroute.h
mroute6.h
msdos_fs.h
msg.h
msi.h
mutex.h
kernel/mutex: mutex_is_locked can be boolean
2018-02-06 18:32:47 -08:00
mv643xx.h
mv643xx_eth.h
mv643xx_i2c.h
mvebu-pmsu.h
mxm-wmi.h
n_r3964.h
namei.h
nd.h
net.h
Merge git://git.kernel.org/pub/scm/linux/kernel/git/davem/net-next
2018-01-31 14:31:10 -08:00
net_dim.h
net/dim: Fix fixpoint divide exception in net_dim_stats_compare
2018-01-19 14:53:32 -05:00
netdev_features.h
netdevice.h
bpf: fix null pointer deref in bpf_prog_test_run_xdp
2018-02-01 07:43:56 -08:00
netfilter.h
netfilter_bridge.h
netfilter_defs.h
netfilter_ingress.h
netfilter_ipv4.h
netfilter_ipv6.h
netlink.h
netlink: extack: avoid parenthesized string constant warning
2018-01-15 15:15:23 -05:00
netpoll.h
nfs.h
nfs3.h
nfs4.h
NFS: Fix nfsstat breakage due to LOOKUPP
2018-01-14 23:06:29 -05:00
nfs_fs.h
nfs_fs_i.h
nfs_fs_sb.h
nfs_iostat.h
nfs_page.h
nfs_xdr.h
nfsacl.h
nl802154.h
nls.h
nmi.h
node.h
nodemask.h
nospec.h
nospec: Move array_index_nospec() parameter checking into separate macro
2018-02-15 01:15:51 +01:00
notifier.h
ns_common.h
nsc_gpio.h
nsproxy.h
ntb.h
NTB: Fix UB/bug in ntb_mw_get_align()
2018-01-28 22:17:24 -05:00
ntb_transport.h
nubus.h
nubus: Add support for the driver model
2018-01-16 16:47:29 +01:00
numa.h
nvme-fc-driver.h
nvme-fc.h
nvme-rdma.h
nvme.h
nvme-pci: clean up SMBSZ bit definitions
2018-01-17 17:55:14 +01:00
nvmem-consumer.h
nvmem-provider.h
nvram.h
of.h
DeviceTree updates for 4.16:
2018-02-01 10:57:45 -08:00
of_address.h
of_device.h
of_dma.h
of_fdt.h
of_gpio.h
DeviceTree updates for 4.16:
2018-02-01 10:57:45 -08:00
of_graph.h
of_iommu.h
iommu: Clean up of_iommu_init_fn
2018-01-17 15:25:50 +01:00
of_irq.h
of_mdio.h
of_net.h
of_pci.h
PCI: Make of_irq_parse_pci() static
2018-01-25 08:48:20 -06:00
of_pdt.h
of_platform.h
of_reserved_mem.h
oid_registry.h
olpc-ec.h
omap-dma.h
omap-dmaengine.h
omap-gpmc.h
mtd: onenand: omap2: Configure driver from DT
2018-01-12 16:41:15 +01:00
omap-iommu.h
omap-mailbox.h
omapfb.h
once.h
oom.h
openvswitch.h
oprofile.h
osq_lock.h
oxu210hp.h
padata.h
page-flags-layout.h
page-flags.h
mm: remove PG_highmem description
2018-01-31 17:18:40 -08:00
page-isolation.h
page_counter.h
page_ext.h
page_idle.h
page_owner.h
page_ref.h
pageblock-flags.h
pagemap.h
pagevec.h
mm: get 7% more pages in a pagevec
2018-01-31 17:18:37 -08:00
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-aspm.h
pci-ats.h
pci-dma-compat.h
PCI: Remove NULL device handling from PCI DMA API
2018-01-17 18:05:51 -06:00
pci-dma.h
pci-ecam.h
PCI: Add SPDX GPL-2.0 to replace GPL v2 boilerplate
2018-01-28 15:48:29 -06:00
pci-ep-cfs.h
PCI: Add SPDX GPL-2.0 to replace GPL v2 boilerplate
2018-01-28 15:48:29 -06:00
pci-epc.h
Merge branch 'pci/spdx' into next
2018-02-01 11:40:07 -06:00
pci-epf.h
PCI: Add SPDX GPL-2.0 to replace GPL v2 boilerplate
2018-01-28 15:48:29 -06:00
pci.h
pci-v4.16-changes
2018-02-06 09:59:40 -08:00
pci_hotplug.h
PCI: Add SPDX GPL-2.0+ to replace GPL v2 or later boilerplate
2018-01-28 15:49:06 -06:00
pci_ids.h
wireless-drivers-next patches for 4.16
2018-02-08 15:32:25 -05:00
pcieport_if.h
pda_power.h
pe.h
percpu-defs.h
percpu-refcount.h
percpu-rwsem.h
percpu.h
percpu_counter.h
percpu_ida.h
perf_event.h
perf_regs.h
personality.h
pfn.h
pfn_t.h
mm, dax: introduce pfn_t_special()
2018-01-19 16:50:53 -08:00
phonet.h
phy.h
phy: add helpers for setting/clearing bits in PHY registers
2018-01-16 12:25:10 -05:00
phy_fixed.h
phy_led_triggers.h
phylink.h
pid.h
pid_namespace.h
pim.h
pipe_fs_i.h
pipe: reject F_SETPIPE_SZ with size over UINT_MAX
2018-02-06 18:32:47 -08:00
pkeys.h
pktcdvd.h
pl320-ipc.h
platform_device.h
plist.h
pm-trace.h
pm.h
pm2301_charger.h
pm_clock.h
pm_domain.h
pm_opp.h
pm_qos.h
pm_runtime.h
pm_wakeirq.h
pm_wakeup.h
pmbus.h
pmu.h
pnfs_osd_xdr.h
pnp.h
poison.h
poll.h
unify {de,}mangle_poll(), get rid of kernel-side POLL...
2018-02-11 14:37:22 -08:00
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
preempt.h
prefetch.h
prime_numbers.h
printk.h
proc_fs.h
proc_ns.h
processor.h
profile.h
projid.h
property.h
device property: Constify device_get_match_data()
2018-02-12 10:41:11 +01:00
psci.h
firmware/psci: Expose SMCCC version through psci_ops
2018-02-06 22:54:11 +00:00
psp-sev.h
pstore.h
pstore_ram.h
pti.h
ptp_classify.h
ptp_clock_kernel.h
ptr_ring.h
ptr_ring: prevent integer overflow when calculating size
2018-02-11 22:33:22 -05:00
ptrace.h
purgatory.h
pvclock_gtod.h
pwm.h
pwm_backlight.h
pxa2xx_ssp.h
pxa168_eth.h
qcom_scm.h
qnx6_fs.h
quicklist.h
quota.h
quotaops.h
radix-tree.h
idr: Remove idr_alloc_ext
2018-02-06 16:41:28 -05:00
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
rcupdate_wait.h
rcutiny.h
rcutree.h
rcuwait.h
reboot-mode.h
reboot.h
reciprocal_div.h
refcount.h
regmap.h
Char/Misc driver patches for 4.16-rc1
2018-02-01 10:31:17 -08:00
regset.h
relay.h
remoteproc.h
remoteproc: Drop dangling find_rsc_table dummies
2018-01-15 09:30:00 -08:00
reservation.h
reset-controller.h
reset.h
resource.h
resource_ext.h
restart_block.h
rfkill.h
rhashtable.h
ring_buffer.h
rio.h
rio_drv.h
rio_ids.h
rio_regs.h
rmap.h
rmi.h
rndis.h
rodata_test.h
root_dev.h
rpmsg.h
rslib.h
rtc.h
rtmutex.h
rtnetlink.h
Merge git://git.kernel.org/pub/scm/linux/kernel/git/davem/net-next
2018-01-31 14:31:10 -08:00
rtsx_common.h
rtsx_pci.h
- New Drivers
2018-01-29 10:59:24 -08:00
rtsx_usb.h
rwlock.h
rwlock_api_smp.h
rwlock_types.h
rwsem-spinlock.h
rwsem.h
s3c_adc_battery.h
sa11x0-dma.h
sbitmap.h
scatterlist.h
lib/scatterlist: Fix chaining support in sgl_alloc_order()
2018-01-19 12:31:03 -07:00
scc.h
sched.h
Merge branch 'akpm' (patches from Andrew)
2018-02-06 22:15:42 -08:00
sched_clock.h
scif.h
vfs: do bulk POLL* -> EPOLL* replacement
2018-02-11 14:34:03 -08:00
scpi_protocol.h
screen_info.h
sctp.h
scx200.h
scx200_gpio.h
sdb.h
sdla.h
seccomp.h
securebits.h
security.h
sed-opal.h
seg6.h
seg6_genl.h
seg6_hmac.h
seg6_iptunnel.h
seg6_local.h
selection.h
selinux.h
sem.h
semaphore.h
locking/semaphore: Update the file path in documentation
2018-02-13 15:00:06 +01:00
seq_buf.h
seq_file.h
seq_file: Introduce DEFINE_SHOW_ATTRIBUTE() helper macro
2018-02-07 12:50:21 +02:00
seq_file_net.h
seqlock.h
seqno-fence.h
serdev.h
TTY/Staging driver updates for 4.16-rc1
2018-02-01 09:46:00 -08:00
serial.h
serial_8250.h
serial_bcm63xx.h
serial_core.h
More ACPI updates for v4.16-rc1
2018-02-09 09:44:25 -08:00
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
shmem: rename functions that are memfd-related
2018-01-31 17:18:39 -08:00
shrinker.h
signal.h
signal: Remove unnecessary ifdefs now that there is only one struct siginfo
2018-01-12 14:34:49 -06:00
signal_types.h
signalfd.h
siox.h
siphash.h
sirfsoc_dma.h
sizes.h
skb_array.h
skb_array: use __ptr_ring_empty
2018-01-29 12:02:54 -05:00
skbuff.h
skbuff: Fix comment mis-spelling.
2018-02-16 15:52:42 -05:00
slab.h
usercopy: Allow strict enforcement of whitelists
2018-01-15 12:07:48 -08:00
slab_def.h
usercopy: Prepare for usercopy whitelisting
2018-01-15 12:07:47 -08:00
slimbus.h
slub_def.h
usercopy: Prepare for usercopy whitelisting
2018-01-15 12:07:47 -08:00
sm501-regs.h
sm501.h
smc91x.h
smc911x.h
smp.h
smpboot.h
smsc911x.h
smscphy.h
sock_diag.h
socket.h
sonet.h
sony-laptop.h
sonypi.h
sort.h
sound.h
sound: Remove unused register_sound_midi() and co
2018-01-11 17:05:23 +01:00
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
lockdep: Convert some users to const
2018-01-18 11:56:49 +01:00
srcutiny.h
srcutree.h
ssbi.h
stackdepot.h
stackprotector.h
stacktrace.h
start_kernel.h
stat.h
statfs.h
static_key.h
stddef.h
stddef.h: Introduce sizeof_field()
2018-01-15 12:07:46 -08:00
ste_modem_shm.h
stm.h
stmmac.h
stmp3xxx_rtc_wdt.h
stmp_device.h
stop_machine.h
string.h
Merge branch 'work.misc' of git://git.kernel.org/pub/scm/linux/kernel/git/viro/vfs
2018-01-31 09:25:20 -08:00
string_helpers.h
stringhash.h
stringify.h
sudmac.h
sungem_phy.h
sunserialcore.h
sunxi-rsb.h
superhyway.h
suspend.h
x86: hibernate: fix swsusp_arch_resume() prototype
2018-02-07 12:18:23 +01:00
svga.h
sw842.h
swab.h
swait.h
swap.h
mm, mlock, vmscan: no more skipping pagevecs
2018-02-21 15:35:42 -08:00
swap_cgroup.h
swap_slots.h
swapfile.h
swapops.h
mm, page_vma_mapped: Drop faulty pointer arithmetics in check_pte()
2018-01-21 17:44:47 -08:00
swiotlb.h
swiotlb: add common swiotlb_map_ops
2018-01-15 09:35:45 +01:00
switchtec.h
pci-v4.16-changes
2018-02-06 09:59:40 -08:00
sxgbe_platform.h
sync_core.h
locking: Introduce sync_core_before_usermode()
2018-02-05 21:34:50 +01:00
sync_file.h
synclink.h
sys.h
sys_soc.h
syscalls.h
syscore_ops.h
sysctl.h
pipe, sysctl: remove pipe_proc_fn()
2018-02-06 18:32:47 -08:00
sysfs.h
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
bpf: Adds field bpf_sock_ops_cb_flags to tcp_sock
2018-01-25 16:41:14 -08:00
tee_drv.h
This pull request updates the previous tee-drv-dynamic-shm-for-v4.16 pull
2018-01-11 18:05:06 -08:00
textsearch.h
textsearch_fsm.h
tfrc.h
thermal.h
thinkpad_acpi.h
thread_info.h
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
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
tracefs.h
tracehook.h
tracepoint-defs.h
tracepoint.h
transport_class.h
ts-nbus.h
tsacct_kern.h
tty.h
tty: fix data race between tty_init_dev and flush of buf
2018-01-23 08:57:37 +01:00
tty_driver.h
tty_flip.h
tty_ldisc.h
typecheck.h
types.h
u64_stats_sync.h
uaccess.h
usercopy: WARN() on slab cache usercopy region violations
2018-01-15 12:07:48 -08:00
ucb1400.h
ucs2_string.h
udp.h
uidgid.h
uio.h
uio_driver.h
umh.h
uprobes.h
usb.h
usb_usual.h
usbdevice_fs.h
user-return-notifier.h
user.h
user_namespace.h
userfaultfd_k.h
util_macros.h
uts.h
utsname.h
uuid.h
uuid: cleanup <uapi/linux/uuid.h>
2018-02-06 18:32:44 -08:00
uwb.h
vbox_utils.h
verification.h
vermagic.h
Revert "module: Add retpoline tag to VERMAGIC"
2018-01-24 09:00:05 -08:00
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_byteorder.h
virtio_caif.h
virtio_config.h
virtio_console.h
virtio_net.h
virtio_ring.h
virtio_vsock.h
visorbus.h
vlynq.h
vm_event_item.h
vm_sockets.h
vmacache.h
vmalloc.h
vme.h
vmpressure.h
vmstat.h
mm: remove unused pgdat_reclaimable_pages()
2018-01-31 17:18:37 -08:00
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
wait_bit.h
wanrouter.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
xattr.h
xxhash.h
xz.h
yam.h
z2_battery.h
zbud.h
zconf.h
zlib.h
zorro.h
zpool.h
zswap: only save zswap header when necessary
2018-01-31 17:18:39 -08:00
zsmalloc.h
zstd.h
zutil.h