projects/linux·commit 814a2bf9

Merge branch 'akpm' (patches from Andrew)

814a2bf9 · Linus Torvalds <[email protected]> · 2016-03-18 19:26:54 -07:00

Merge second patch-bomb from Andrew Morton:

 - a couple of hotfixes

 - the rest of MM

 - a new timer slack control in procfs

 - a couple of procfs fixes

 - a few misc things

 - some printk tweaks

 - lib/ updates, notably to radix-tree.

 - add my and Nick Piggin's old userspace radix-tree test harness to
   tools/testing/radix-tree/.  Matthew said it was a godsend during the
   radix-tree work he did.

 - a few code-size improvements, switching to __always_inline where gcc
   screwed up.

 - partially implement character sets in sscanf

* emailed patches from Andrew Morton <[email protected]>: (118 commits)
  sscanf: implement basic character sets
  lib/bug.c: use common WARN helper
  param: convert some "on"/"off" users to strtobool
  lib: add "on"/"off" support to kstrtobool
  lib: update single-char callers of strtobool()
  lib: move strtobool() to kstrtobool()
  include/linux/unaligned: force inlining of byteswap operations
  include/uapi/linux/byteorder, swab: force inlining of some byteswap operations
  include/asm-generic/atomic-long.h: force inlining of some atomic_long operations
  usb: common: convert to use match_string() helper
  ide: hpt366: convert to use match_string() helper
  ata: hpt366: convert to use match_string() helper
  power: ab8500: convert to use match_string() helper
  power: charger_manager: convert to use match_string() helper
  drm/edid: convert to use match_string() helper
  pinctrl: convert to use match_string() helper
  device property: convert to use match_string() helper
  lib/string: introduce match_string() helper
  radix-tree tests: add test for radix_tree_iter_next
  radix-tree tests: add regression3 test
  ...
Commit
814a2bf957739f367cbebfa1b60237387b72d0ee
Parents
237045fc · f9310b2f

Merge commit. Changes below are compared with the first parent: 237045fc.

Changes

225 files changed · +5048 −1915

FileStatusAddDelContent
Documentation/cgroup-v1/cgroups.txtmodified+1−1View file
Documentation/cgroup-v1/cpusets.txtmodified+1−1View file
Documentation/cgroup-v2.txtmodified+25−0View file
Documentation/filesystems/proc.txtmodified+18−0View file
Documentation/sysctl/vm.txtmodified+18−0View file
Documentation/vm/transhuge.txtmodified+22−0View file
MAINTAINERSmodified+1−2View file
arch/arc/include/asm/hugepage.hmodified+0−3View file
arch/arm/mm/fault.cmodified+1−1View file
arch/arm/mm/mmu.cmodified+3−3View file
arch/arm/mm/pgd.cmodified+1−1View file
arch/arm64/mm/fault.cmodified+1−1View file
arch/arm64/mm/hugetlbpage.cmodified+1−1View file
arch/c6x/Kconfigmodified+1−0View file
arch/ia64/include/asm/io.hmodified+1−0View file
arch/ia64/include/asm/rwsem.hmodified+1−1View file
arch/ia64/mm/hugetlbpage.cmodified+1−1View file
arch/metag/mm/hugetlbpage.cmodified+1−1View file
arch/mips/mm/gup.cmodified+1−1View file
arch/mn10300/Kconfigmodified+1−0View file
arch/mn10300/kernel/fpu-nofpu.cmodified+1−0View file
arch/parisc/mm/hugetlbpage.cmodified+1−1View file
arch/powerpc/Kconfigmodified+1−0View file
arch/powerpc/kernel/rtasd.cmodified+2−7View file
arch/powerpc/kernel/traps.cmodified+2−3View file
arch/powerpc/mm/hash_utils_64.cmodified+20−16View file
arch/powerpc/mm/init_32.cmodified+4−4View file
arch/powerpc/mm/mmu_context_hash64.cmodified+1−2View file
arch/powerpc/mm/pgtable_64.cmodified+1−1View file
arch/powerpc/platforms/512x/mpc512x_shared.cmodified+1−1View file
arch/powerpc/platforms/pseries/hotplug-cpu.cmodified+2−8View file
arch/s390/kernel/time.cmodified+2−6View file
arch/s390/kernel/topology.cmodified+2−5View file
arch/sh/mm/hugetlbpage.cmodified+1−1View file
arch/sparc/mm/hugetlbpage.cmodified+1−1View file
arch/tile/mm/hugetlbpage.cmodified+1−1View file
arch/tile/mm/init.cmodified+7−4View file
arch/um/kernel/skas/mmu.cmodified+1−1View file
arch/unicore32/mm/fault.cmodified+1−1View file
arch/unicore32/mm/pgd.cmodified+1−1View file
arch/x86/kernel/aperture_64.cmodified+2−10View file
arch/x86/kernel/tboot.cmodified+1−1View file
arch/x86/mm/gup.cmodified+1−1View file
arch/xtensa/mm/fault.cmodified+1−1View file
crypto/async_tx/async_pq.cmodified+1−1View file
drivers/ata/pata_hpt366.cmodified+5−8View file
drivers/base/property.cmodified+4−8View file
drivers/block/aoe/aoecmd.cmodified+2−2View file
drivers/firmware/broadcom/bcm47xx_nvram.cmodified+2−3View file
drivers/gpu/drm/drm_edid_load.cmodified+6−11View file
drivers/ide/hpt366.cmodified+2−7View file
drivers/net/ethernet/freescale/gianfar.cmodified+1−1View file
drivers/net/ethernet/intel/fm10k/fm10k_main.cmodified+1−1View file
drivers/net/ethernet/intel/igb/igb_main.cmodified+1−1View file
drivers/net/ethernet/intel/ixgbe/ixgbe_main.cmodified+1−1View file
drivers/net/ethernet/intel/ixgbevf/ixgbevf_main.cmodified+1−1View file
drivers/net/ethernet/mellanox/mlx4/en_rx.cmodified+4−5View file
drivers/net/ethernet/sun/niu.cmodified+1−1View file
drivers/net/wireless/marvell/mwifiex/debugfs.cmodified+4−6View file
drivers/pinctrl/pinmux.cmodified+3−10View file
drivers/power/ab8500_btemp.cmodified+5−10View file
drivers/power/ab8500_charger.cmodified+5−11View file
drivers/power/ab8500_fg.cmodified+5−10View file
drivers/power/abx500_chargalg.cmodified+5−9View file
drivers/power/charger-manager.cmodified+4−23View file
drivers/usb/common/common.cmodified+8−14View file
drivers/virtio/virtio_balloon.cmodified+6−0View file
fs/btrfs/tests/btrfs-tests.cmodified+1−2View file
fs/cifs/cifs_debug.cmodified+14−42View file
fs/cifs/cifs_debug.hmodified+1−1View file
fs/cifs/cifsfs.cmodified+3−3View file
fs/cifs/cifsglob.hmodified+2−2View file
fs/eventpoll.cmodified+1−1View file
fs/nilfs2/page.cmodified+1−1View file
fs/proc/base.cmodified+70−1View file
fs/proc/meminfo.cmodified+1−30View file
fs/proc/page.cmodified+6−2View file
fs/proc/vmcore.cmodified+5−2View file
fs/select.cmodified+4−4View file
include/asm-generic/atomic-long.hmodified+3−3View file
include/asm-generic/bug.hmodified+18−9View file
include/asm-generic/pgtable.hmodified+17−0View file
include/linux/buffer_head.hmodified+5−5View file
include/linux/compaction.hmodified+16−0View file
include/linux/freezer.hmodified+1−1View file
include/linux/gfp.hmodified+21−16View file
include/linux/hrtimer.hmodified+7−5View file
include/linux/huge_mm.hmodified+13−9View file
include/linux/kernel.hmodified+2−0View file
include/linux/list_bl.hmodified+2−2View file
include/linux/memcontrol.hmodified+33−11View file
include/linux/mm.hmodified+38−30View file
include/linux/mmzone.hmodified+8−0View file
include/linux/page-flags-layout.hmodified+2−0View file
include/linux/page-flags.hmodified+17−15View file
include/linux/page_ref.hadded+173−0View file
include/linux/pagemap.hmodified+3−16View file
include/linux/poll.hmodified+1−1View file
include/linux/quicklist.hmodified+1−1View file
include/linux/radix-tree.hmodified+26−2View file
include/linux/rmap.hmodified+6−0View file
include/linux/sched.hmodified+2−2View file
include/linux/sched/sysctl.hmodified+0−21View file
include/linux/string.hmodified+7−1View file
include/linux/tick.hmodified+1−1View file
include/linux/unaligned/access_ok.hmodified+12−12View file
include/linux/vm_event_item.hmodified+2−0View file
include/trace/events/compaction.hmodified+55−0View file
include/trace/events/mmflags.hmodified+16−7View file
include/trace/events/page_ref.hadded+134−0View file
include/uapi/linux/byteorder/big_endian.hmodified+12−12View file
include/uapi/linux/byteorder/little_endian.hmodified+12−12View file
include/uapi/linux/elf-em.hmodified+0−3View file
include/uapi/linux/swab.hmodified+5−5View file
include/uapi/linux/virtio_balloon.hmodified+2−1View file
kernel/fork.cmodified+9−1View file
kernel/panic.cmodified+26−15View file
kernel/printk/printk.cmodified+66−74View file
kernel/sys.cmodified+4−1View file
kernel/sysctl.cmodified+10−0View file
kernel/time/hrtimer.cmodified+6−12View file
kernel/time/tick-sched.cmodified+2−8View file
kernel/time/timer.cmodified+2−2View file
kernel/watchdog.cmodified+8−1View file
lib/bug.cmodified+2−13View file
lib/kstrtox.cmodified+64−0View file
lib/radix-tree.cmodified+148−34View file
lib/string.cmodified+21−24View file
lib/vsprintf.cmodified+58−1View file
mm/Kconfigmodified+1−3View file
mm/Kconfig.debugmodified+13−0View file
mm/Makefilemodified+1−0View file
mm/backing-dev.cmodified+2−2View file
mm/bootmem.cmodified+3−4View file
mm/compaction.cmodified+227−5View file
mm/debug.cmodified+1−1View file
mm/debug_page_ref.cadded+54−0View file
mm/dmapool.cmodified+7−11View file
mm/filemap.cmodified+18−37View file
mm/huge_memory.cmodified+109−228View file
mm/hugetlb.cmodified+2−3View file
mm/internal.hmodified+3−10View file
mm/kasan/report.cmodified+2−4View file
mm/kmemcheck.cmodified+1−2View file
mm/kmemleak-test.cmodified+1−1View file
mm/kmemleak.cmodified+15−17View file
mm/memblock.cmodified+1−2View file
mm/memcontrol.cmodified+108−83View file
mm/memory-failure.cmodified+21−31View file
mm/memory.cmodified+10−15View file
mm/memory_hotplug.cmodified+29−25View file
mm/mempolicy.cmodified+1−3View file
mm/mempool.cmodified+16−4View file
mm/migrate.cmodified+19−14View file
mm/mm_init.cmodified+3−4View file
mm/mmap.cmodified+3−130View file
mm/mmu_notifier.cmodified+1−1View file
mm/mremap.cmodified+1−3View file
mm/nobootmem.cmodified+2−2View file
mm/nommu.cmodified+0−117View file
mm/oom_kill.cmodified+4−12View file
mm/page_alloc.cmodified+124−68View file
mm/page_io.cmodified+11−11View file
mm/page_owner.cmodified+2−3View file
mm/percpu-km.cmodified+3−3View file
mm/percpu.cmodified+22−21View file
mm/pgtable-generic.cmodified+0−14View file
mm/quicklist.cmodified+1−1View file
mm/rmap.cmodified+54−17View file
mm/shmem.cmodified+21−28View file
mm/slab.cmodified+40−49View file
mm/slab.hmodified+28−2View file
mm/slab_common.cmodified+6−8View file
mm/slub.cmodified+15−16View file
mm/sparse-vmemmap.cmodified+4−4View file
mm/sparse.cmodified+9−12View file
mm/swap_cgroup.cmodified+2−3View file
mm/swapfile.cmodified+1−2View file
mm/userfaultfd.cmodified+1−2View file
mm/util.cmodified+124−0View file
mm/vmalloc.cmodified+15−16View file
mm/vmscan.cmodified+61−108View file
mm/vmstat.cmodified+2−0View file
mm/workingset.cmodified+8−2View file
mm/zsmalloc.cmodified+16−13View file
net/core/sock.cmodified+1−1View file
sound/drivers/pcsp/pcsp.cmodified+5−4View file
tools/testing/radix-tree/.gitignoreadded+2−0View file
tools/testing/radix-tree/Makefileadded+19−0View file
tools/testing/radix-tree/find_next_bit.cadded+57−0View file
tools/testing/radix-tree/linux.cadded+60−0View file
tools/testing/radix-tree/linux/bitops.hadded+150−0View file
tools/testing/radix-tree/linux/bitops/__ffs.hadded+43−0View file
tools/testing/radix-tree/linux/bitops/ffs.hadded+41−0View file
tools/testing/radix-tree/linux/bitops/ffz.hadded+12−0View file
tools/testing/radix-tree/linux/bitops/find.hadded+13−0View file
tools/testing/radix-tree/linux/bitops/fls.hadded+41−0View file
tools/testing/radix-tree/linux/bitops/fls64.hadded+14−0View file
tools/testing/radix-tree/linux/bitops/hweight.hadded+11−0View file
tools/testing/radix-tree/linux/bitops/le.hadded+53−0View file
tools/testing/radix-tree/linux/bitops/non-atomic.hadded+111−0View file
tools/testing/radix-tree/linux/bug.hadded+1−0View file
tools/testing/radix-tree/linux/cpu.hadded+34−0View file
tools/testing/radix-tree/linux/export.hadded+2−0View file
tools/testing/radix-tree/linux/gfp.hadded+10−0View file
tools/testing/radix-tree/linux/kernel.hadded+35−0View file
tools/testing/radix-tree/linux/kmemleak.hadded+1−0View file
tools/testing/radix-tree/linux/mempool.hadded+16−0View file
tools/testing/radix-tree/linux/notifier.hadded+8−0View file
tools/testing/radix-tree/linux/percpu.hadded+7−0View file
tools/testing/radix-tree/linux/preempt.hadded+4−0View file
tools/testing/radix-tree/linux/radix-tree.hadded+1−0View file
tools/testing/radix-tree/linux/rcupdate.hadded+9−0View file
tools/testing/radix-tree/linux/slab.hadded+28−0View file
tools/testing/radix-tree/linux/types.hadded+28−0View file
tools/testing/radix-tree/main.cadded+272−0View file
tools/testing/radix-tree/rcupdate.cadded+86−0View file
tools/testing/radix-tree/regression.hadded+8−0View file
tools/testing/radix-tree/regression1.cadded+220−0View file
tools/testing/radix-tree/regression2.cadded+126−0View file
tools/testing/radix-tree/regression3.cadded+117−0View file
tools/testing/radix-tree/tag_check.cadded+332−0View file
tools/testing/radix-tree/test.cadded+219−0View file
tools/testing/radix-tree/test.hadded+40−0View file
tools/vm/page-types.cmodified+119−14View file

Only the first 600 diff lines are shown. Download the complete patch.

Documentation/cgroup-v1/cgroups.txt

View file
diff --git a/Documentation/cgroup-v1/cgroups.txt b/Documentation/cgroup-v1/cgroups.txt
index c6256ae..947e6fe 100644
--- a/Documentation/cgroup-v1/cgroups.txt
+++ b/Documentation/cgroup-v1/cgroups.txt
@@ -8,7 +8,7 @@ Original copyright statements from cpusets.txt:
Portions Copyright (C) 2004 BULL SA.
Portions Copyright (c) 2004-2006 Silicon Graphics, Inc.
Modified by Paul Jackson <[email protected]>
-Modified by Christoph Lameter <[email protected]>
+Modified by Christoph Lameter <[email protected]>
CONTENTS:
=========

Documentation/cgroup-v1/cpusets.txt

View file
diff --git a/Documentation/cgroup-v1/cpusets.txt b/Documentation/cgroup-v1/cpusets.txt
index fdf7dff..e5cdcd4 100644
--- a/Documentation/cgroup-v1/cpusets.txt
+++ b/Documentation/cgroup-v1/cpusets.txt
@@ -6,7 +6,7 @@ Written by [email protected]
Portions Copyright (c) 2004-2006 Silicon Graphics, Inc.
Modified by Paul Jackson <[email protected]>
-Modified by Christoph Lameter <[email protected]>
+Modified by Christoph Lameter <[email protected]>
Modified by Paul Menage <[email protected]>
Modified by Hidetoshi Seto <[email protected]>

Documentation/cgroup-v2.txt

View file
diff --git a/Documentation/cgroup-v2.txt b/Documentation/cgroup-v2.txt
index ff49cf9..8f1329a 100644
--- a/Documentation/cgroup-v2.txt
+++ b/Documentation/cgroup-v2.txt
@@ -843,6 +843,15 @@ PAGE_SIZE multiple when read back.
Amount of memory used to cache filesystem data,
including tmpfs and shared memory.
+ kernel_stack
+
+ Amount of memory allocated to kernel stacks.
+
+ slab
+
+ Amount of memory used for storing in-kernel data
+ structures.
+
sock
Amount of memory used in network transmission buffers
@@ -871,6 +880,16 @@ PAGE_SIZE multiple when read back.
on the internal memory management lists used by the
page reclaim algorithm
+ slab_reclaimable
+
+ Part of "slab" that might be reclaimed, such as
+ dentries and inodes.
+
+ slab_unreclaimable
+
+ Part of "slab" that cannot be reclaimed on memory
+ pressure.
+
pgfault
Total number of page faults incurred
@@ -1368,6 +1387,12 @@ system than killing the group. Otherwise, memory.max is there to
limit this type of spillover and ultimately contain buggy or even
malicious applications.
+Setting the original memory.limit_in_bytes below the current usage was
+subject to a race condition, where concurrent charges could cause the
+limit setting to fail. memory.max on the other hand will first set the
+limit to prevent new charges, and then reclaim and OOM kill until the
+new limit is met - or the task writing to memory.max is killed.
+
The combined memory+swap accounting and limiting is replaced by real
control over swap space.

Documentation/filesystems/proc.txt

View file
diff --git a/Documentation/filesystems/proc.txt b/Documentation/filesystems/proc.txt
index 843b045..7f5607a 100644
--- a/Documentation/filesystems/proc.txt
+++ b/Documentation/filesystems/proc.txt
@@ -43,6 +43,7 @@ Table of Contents
3.7 /proc/<pid>/task/<tid>/children - Information about task children
3.8 /proc/<pid>/fdinfo/<fd> - Information about opened file
3.9 /proc/<pid>/map_files - Information about memory mapped files
+ 3.10 /proc/<pid>/timerslack_ns - Task timerslack value
4 Configuring procfs
4.1 Mount options
@@ -1862,6 +1863,23 @@ time one can open(2) mappings from the listings of two processes and
comparing their inode numbers to figure out which anonymous memory areas
are actually shared.
+3.10 /proc/<pid>/timerslack_ns - Task timerslack value
+---------------------------------------------------------
+This file provides the value of the task's timerslack value in nanoseconds.
+This value specifies a amount of time that normal timers may be deferred
+in order to coalesce timers and avoid unnecessary wakeups.
+
+This allows a task's interactivity vs power consumption trade off to be
+adjusted.
+
+Writing 0 to the file will set the tasks timerslack to the default value.
+
+Valid values are from 0 - ULLONG_MAX
+
+An application setting the value must have PTRACE_MODE_ATTACH_FSCREDS level
+permissions on the task specified to change its timerslack_ns value.
+
+
------------------------------------------------------------------------------
Configuring procfs
------------------------------------------------------------------------------

Documentation/sysctl/vm.txt

View file
diff --git a/Documentation/sysctl/vm.txt b/Documentation/sysctl/vm.txt
index 89a887c..cb03684 100644
--- a/Documentation/sysctl/vm.txt
+++ b/Documentation/sysctl/vm.txt
@@ -803,6 +803,24 @@ performance impact. Reclaim code needs to take various locks to find freeable
directory and inode objects. With vfs_cache_pressure=1000, it will look for
ten times more freeable objects than there are.
+=============================================================
+
+watermark_scale_factor:
+
+This factor controls the aggressiveness of kswapd. It defines the
+amount of memory left in a node/system before kswapd is woken up and
+how much memory needs to be free before kswapd goes back to sleep.
+
+The unit is in fractions of 10,000. The default value of 10 means the
+distances between watermarks are 0.1% of the available memory in the
+node/system. The maximum value is 1000, or 10% of memory.
+
+A high rate of threads entering direct reclaim (allocstall) or kswapd
+going to sleep prematurely (kswapd_low_wmark_hit_quickly) can indicate
+that the number of free pages kswapd maintains for latency reasons is
+too small for the allocation bursts occurring in the system. This knob
+can then be used to tune kswapd aggressiveness accordingly.
+
==============================================================
zone_reclaim_mode:

Documentation/vm/transhuge.txt

View file
diff --git a/Documentation/vm/transhuge.txt b/Documentation/vm/transhuge.txt
index 21cf34f..d9cb65c 100644
--- a/Documentation/vm/transhuge.txt
+++ b/Documentation/vm/transhuge.txt
@@ -113,9 +113,26 @@ guaranteed, but it may be more likely in case the allocation is for a
MADV_HUGEPAGE region.
echo always >/sys/kernel/mm/transparent_hugepage/defrag
+echo defer >/sys/kernel/mm/transparent_hugepage/defrag
echo madvise >/sys/kernel/mm/transparent_hugepage/defrag
echo never >/sys/kernel/mm/transparent_hugepage/defrag
+"always" means that an application requesting THP will stall on allocation
+failure and directly reclaim pages and compact memory in an effort to
+allocate a THP immediately. This may be desirable for virtual machines
+that benefit heavily from THP use and are willing to delay the VM start
+to utilise them.
+
+"defer" means that an application will wake kswapd in the background
+to reclaim pages and wake kcompact to compact memory so that THP is
+available in the near future. It's the responsibility of khugepaged
+to then install the THP pages later.
+
+"madvise" will enter direct reclaim like "always" but only for regions
+that are have used madvise(MADV_HUGEPAGE). This is the default behaviour.
+
+"never" should be self-explanatory.
+
By default kernel tries to use huge zero page on read page fault.
It's possible to disable huge zero page by writing 0 or enable it
back by writing 1:
@@ -229,6 +246,11 @@ thp_split_page is incremented every time a huge page is split into base
thp_split_page_failed is is incremented if kernel fails to split huge
page. This can happen if the page was pinned by somebody.
+thp_deferred_split_page is incremented when a huge page is put onto split
+ queue. This happens when a huge page is partially unmapped and
+ splitting it would free up some memory. Pages on split queue are
+ going to be split under memory pressure.
+
thp_split_pmd is incremented every time a PMD split into table of PTEs.
This can happen, for instance, when application calls mprotect() or
munmap() on part of huge page. It doesn't split huge page, only

MAINTAINERS

View file
diff --git a/MAINTAINERS b/MAINTAINERS
index 1c6d778..2933d90 100644
--- a/MAINTAINERS
+++ b/MAINTAINERS
@@ -8498,7 +8498,7 @@ F: include/crypto/pcrypt.h
PER-CPU MEMORY ALLOCATOR
M: Tejun Heo <[email protected]>
-M: Christoph Lameter <[email protected]>
+M: Christoph Lameter <[email protected]>
T: git git://git.kernel.org/pub/scm/linux/kernel/git/tj/percpu.git
S: Maintained
F: include/linux/percpu*.h
@@ -11296,7 +11296,6 @@ F: include/linux/cdrom.h
F: include/uapi/linux/cdrom.h
UNISYS S-PAR DRIVERS
-M: Benjamin Romer <[email protected]>
M: David Kershner <[email protected]>
L: [email protected] (Unisys internal)
S: Supported

arch/arc/include/asm/hugepage.h

View file
diff --git a/arch/arc/include/asm/hugepage.h b/arch/arc/include/asm/hugepage.h
index c5094de..7afe335 100644
--- a/arch/arc/include/asm/hugepage.h
+++ b/arch/arc/include/asm/hugepage.h
@@ -30,19 +30,16 @@ static inline pmd_t pte_pmd(pte_t pte)
#define pmd_mkyoung(pmd) pte_pmd(pte_mkyoung(pmd_pte(pmd)))
#define pmd_mkhuge(pmd) pte_pmd(pte_mkhuge(pmd_pte(pmd)))
#define pmd_mknotpresent(pmd) pte_pmd(pte_mknotpresent(pmd_pte(pmd)))
-#define pmd_mksplitting(pmd) pte_pmd(pte_mkspecial(pmd_pte(pmd)))
#define pmd_mkclean(pmd) pte_pmd(pte_mkclean(pmd_pte(pmd)))
#define pmd_write(pmd) pte_write(pmd_pte(pmd))
#define pmd_young(pmd) pte_young(pmd_pte(pmd))
#define pmd_pfn(pmd) pte_pfn(pmd_pte(pmd))
#define pmd_dirty(pmd) pte_dirty(pmd_pte(pmd))
-#define pmd_special(pmd) pte_special(pmd_pte(pmd))
#define mk_pmd(page, prot) pte_pmd(mk_pte(page, prot))
#define pmd_trans_huge(pmd) (pmd_val(pmd) & _PAGE_HW_SZ)
-#define pmd_trans_splitting(pmd) (pmd_trans_huge(pmd) && pmd_special(pmd))
#define pfn_pmd(pfn, prot) (__pmd(((pfn) << PAGE_SHIFT) | pgprot_val(prot)))

arch/arm/mm/fault.c

View file
diff --git a/arch/arm/mm/fault.c b/arch/arm/mm/fault.c
index daafcf1..ad58418 100644
--- a/arch/arm/mm/fault.c
+++ b/arch/arm/mm/fault.c
@@ -346,7 +346,7 @@ retry:
up_read(&mm->mmap_sem);
/*
- * Handle the "normal" case first - VM_FAULT_MAJOR / VM_FAULT_MINOR
+ * Handle the "normal" case first - VM_FAULT_MAJOR
*/
if (likely(!(fault & (VM_FAULT_ERROR | VM_FAULT_BADMAP | VM_FAULT_BADACCESS))))
return 0;

arch/arm/mm/mmu.c

View file
diff --git a/arch/arm/mm/mmu.c b/arch/arm/mm/mmu.c
index 434d76f..88fbe0d 100644
--- a/arch/arm/mm/mmu.c
+++ b/arch/arm/mm/mmu.c
@@ -732,7 +732,7 @@ static void *__init late_alloc(unsigned long sz)
return ptr;
}
-static pte_t * __init pte_alloc(pmd_t *pmd, unsigned long addr,
+static pte_t * __init arm_pte_alloc(pmd_t *pmd, unsigned long addr,
unsigned long prot,
void *(*alloc)(unsigned long sz))
{
@@ -747,7 +747,7 @@ static pte_t * __init pte_alloc(pmd_t *pmd, unsigned long addr,
static pte_t * __init early_pte_alloc(pmd_t *pmd, unsigned long addr,
unsigned long prot)
{
- return pte_alloc(pmd, addr, prot, early_alloc);
+ return arm_pte_alloc(pmd, addr, prot, early_alloc);
}
static void __init alloc_init_pte(pmd_t *pmd, unsigned long addr,
@@ -756,7 +756,7 @@ static void __init alloc_init_pte(pmd_t *pmd, unsigned long addr,
void *(*alloc)(unsigned long sz),
bool ng)
{
- pte_t *pte = pte_alloc(pmd, addr, type->prot_l1, alloc);
+ pte_t *pte = arm_pte_alloc(pmd, addr, type->prot_l1, alloc);
do {
set_pte_ext(pte, pfn_pte(pfn, __pgprot(type->prot_pte)),
ng ? PTE_EXT_NG : 0);

arch/arm/mm/pgd.c

View file
diff --git a/arch/arm/mm/pgd.c b/arch/arm/mm/pgd.c
index e683db1..b8d4773 100644
--- a/arch/arm/mm/pgd.c
+++ b/arch/arm/mm/pgd.c
@@ -80,7 +80,7 @@ pgd_t *pgd_alloc(struct mm_struct *mm)
if (!new_pmd)
goto no_pmd;
- new_pte = pte_alloc_map(mm, NULL, new_pmd, 0);
+ new_pte = pte_alloc_map(mm, new_pmd, 0);
if (!new_pte)
goto no_pte;

arch/arm64/mm/fault.c

View file
diff --git a/arch/arm64/mm/fault.c b/arch/arm64/mm/fault.c
index 0077674..95df28b 100644
--- a/arch/arm64/mm/fault.c
+++ b/arch/arm64/mm/fault.c
@@ -304,7 +304,7 @@ retry:
up_read(&mm->mmap_sem);
/*
- * Handle the "normal" case first - VM_FAULT_MAJOR / VM_FAULT_MINOR
+ * Handle the "normal" case first - VM_FAULT_MAJOR
*/
if (likely(!(fault & (VM_FAULT_ERROR | VM_FAULT_BADMAP |
VM_FAULT_BADACCESS))))

arch/arm64/mm/hugetlbpage.c

View file
diff --git a/arch/arm64/mm/hugetlbpage.c b/arch/arm64/mm/hugetlbpage.c
index da30529..589fd28 100644
--- a/arch/arm64/mm/hugetlbpage.c
+++ b/arch/arm64/mm/hugetlbpage.c
@@ -124,7 +124,7 @@ pte_t *huge_pte_alloc(struct mm_struct *mm,
* will be no pte_unmap() to correspond with this
* pte_alloc_map().
*/
- pte = pte_alloc_map(mm, NULL, pmd, addr);
+ pte = pte_alloc_map(mm, pmd, addr);
} else if (sz == PMD_SIZE) {
if (IS_ENABLED(CONFIG_ARCH_WANT_HUGE_PMD_SHARE) &&
pud_none(*pud))

arch/c6x/Kconfig

View file
diff --git a/arch/c6x/Kconfig b/arch/c6x/Kconfig
index 79049d4..5aa8ea8 100644
--- a/arch/c6x/Kconfig
+++ b/arch/c6x/Kconfig
@@ -36,6 +36,7 @@ config GENERIC_HWEIGHT
config GENERIC_BUG
def_bool y
+ depends on BUG
config C6X_BIG_KERNEL
bool "Build a big kernel"

arch/ia64/include/asm/io.h

View file
diff --git a/arch/ia64/include/asm/io.h b/arch/ia64/include/asm/io.h
index a865d2a..5de673a 100644
--- a/arch/ia64/include/asm/io.h
+++ b/arch/ia64/include/asm/io.h
@@ -433,6 +433,7 @@ static inline void __iomem * ioremap_cache (unsigned long phys_addr, unsigned lo
return ioremap(phys_addr, size);
}
#define ioremap_cache ioremap_cache
+#define ioremap_uc ioremap_nocache
/*

arch/ia64/include/asm/rwsem.h

View file
diff --git a/arch/ia64/include/asm/rwsem.h b/arch/ia64/include/asm/rwsem.h
index 3027e75..ce11247 100644
--- a/arch/ia64/include/asm/rwsem.h
+++ b/arch/ia64/include/asm/rwsem.h
@@ -3,7 +3,7 @@
*
* Copyright (C) 2003 Ken Chen <[email protected]>
* Copyright (C) 2003 Asit Mallick <[email protected]>
- * Copyright (C) 2005 Christoph Lameter <[email protected]>
+ * Copyright (C) 2005 Christoph Lameter <[email protected]>
*
* Based on asm-i386/rwsem.h and other architecture implementation.
*

arch/ia64/mm/hugetlbpage.c

View file
diff --git a/arch/ia64/mm/hugetlbpage.c b/arch/ia64/mm/hugetlbpage.c
index f50d4b3..85de86d 100644
--- a/arch/ia64/mm/hugetlbpage.c
+++ b/arch/ia64/mm/hugetlbpage.c
@@ -38,7 +38,7 @@ huge_pte_alloc(struct mm_struct *mm, unsigned long addr, unsigned long sz)
if (pud) {
pmd = pmd_alloc(mm, pud, taddr);
if (pmd)
- pte = pte_alloc_map(mm, NULL, pmd, taddr);
+ pte = pte_alloc_map(mm, pmd, taddr);
}
return pte;
}

arch/metag/mm/hugetlbpage.c

View file
diff --git a/arch/metag/mm/hugetlbpage.c b/arch/metag/mm/hugetlbpage.c
index 53f0f6c..b38700a 100644
--- a/arch/metag/mm/hugetlbpage.c
+++ b/arch/metag/mm/hugetlbpage.c
@@ -67,7 +67,7 @@ pte_t *huge_pte_alloc(struct mm_struct *mm,
pgd = pgd_offset(mm, addr);
pud = pud_offset(pgd, addr);
pmd = pmd_offset(pud, addr);
- pte = pte_alloc_map(mm, NULL, pmd, addr);
+ pte = pte_alloc_map(mm, pmd, addr);
pgd->pgd &= ~_PAGE_SZ_MASK;
pgd->pgd |= _PAGE_SZHUGE;

arch/mips/mm/gup.c

View file
diff --git a/arch/mips/mm/gup.c b/arch/mips/mm/gup.c
index 1afd87c..6cdffc7 100644
--- a/arch/mips/mm/gup.c
+++ b/arch/mips/mm/gup.c
@@ -64,7 +64,7 @@ static inline void get_head_page_multiple(struct page *page, int nr)
{
VM_BUG_ON(page != compound_head(page));
VM_BUG_ON(page_count(page) == 0);
- atomic_add(nr, &page->_count);
+ page_ref_add(page, nr);
SetPageReferenced(page);
}

arch/mn10300/Kconfig

View file
diff --git a/arch/mn10300/Kconfig b/arch/mn10300/Kconfig
index 10607f0..06ddb55 100644
--- a/arch/mn10300/Kconfig
+++ b/arch/mn10300/Kconfig
@@ -53,6 +53,7 @@ config GENERIC_HWEIGHT
config GENERIC_BUG
def_bool y
+ depends on BUG
config QUICKLIST
def_bool y

arch/mn10300/kernel/fpu-nofpu.c

View file
diff --git a/arch/mn10300/kernel/fpu-nofpu.c b/arch/mn10300/kernel/fpu-nofpu.c
index 31c765b..8d0e041 100644
--- a/arch/mn10300/kernel/fpu-nofpu.c
+++ b/arch/mn10300/kernel/fpu-nofpu.c
@@ -9,6 +9,7 @@
* 2 of the Licence, or (at your option) any later version.
*/
#include <asm/fpu.h>
+#include <asm/elf.h>
/*
* handle an FPU operational exception

arch/parisc/mm/hugetlbpage.c

View file
diff --git a/arch/parisc/mm/hugetlbpage.c b/arch/parisc/mm/hugetlbpage.c
index 54ba392..5d6eea9 100644
--- a/arch/parisc/mm/hugetlbpage.c
+++ b/arch/parisc/mm/hugetlbpage.c
@@ -63,7 +63,7 @@ pte_t *huge_pte_alloc(struct mm_struct *mm,
if (pud) {
pmd = pmd_alloc(mm, pud, addr);
if (pmd)
- pte = pte_alloc_map(mm, NULL, pmd, addr);
+ pte = pte_alloc_map(mm, pmd, addr);
}
return pte;
}

arch/powerpc/Kconfig

View file
diff --git a/arch/powerpc/Kconfig b/arch/powerpc/Kconfig
index 832cc46..a030e5e 100644
--- a/arch/powerpc/Kconfig
+++ b/arch/powerpc/Kconfig
@@ -158,6 +158,7 @@ config PPC
select ARCH_HAS_DEVMEM_IS_ALLOWED
select HAVE_ARCH_SECCOMP_FILTER
select ARCH_HAS_UBSAN_SANITIZE_ALL
+ select ARCH_SUPPORTS_DEFERRED_STRUCT_PAGE_INIT
config GENERIC_CSUM
def_bool CPU_LITTLE_ENDIAN

arch/powerpc/kernel/rtasd.c

View file
diff --git a/arch/powerpc/kernel/rtasd.c b/arch/powerpc/kernel/rtasd.c
index 5a2c049..aa610ce 100644
--- a/arch/powerpc/kernel/rtasd.c
+++ b/arch/powerpc/kernel/rtasd.c
@@ -49,7 +49,7 @@ static unsigned int rtas_error_log_buffer_max;
static unsigned int event_scan;
static unsigned int rtas_event_scan_rate;
-static int full_rtas_msgs = 0;
+static bool full_rtas_msgs;
/* Stop logging to nvram after first fatal error */
static int logging_enabled; /* Until we initialize everything,
@@ -592,11 +592,6 @@ __setup("surveillance=", surveillance_setup);
static int __init rtasmsgs_setup(char *str)
{
- if (strcmp(str, "on") == 0)
- full_rtas_msgs = 1;
- else if (strcmp(str, "off") == 0)
- full_rtas_msgs = 0;
-
- return 1;
+ return (kstrtobool(str, &full_rtas_msgs) == 0);
}
__setup("rtasmsgs=", rtasmsgs_setup);

arch/powerpc/kernel/traps.c

View file
diff --git a/arch/powerpc/kernel/traps.c b/arch/powerpc/kernel/traps.c
index b6becc7..33c47fc 100644
--- a/arch/powerpc/kernel/traps.c
+++ b/arch/powerpc/kernel/traps.c
@@ -203,9 +203,8 @@ static int __kprobes __die(const char *str, struct pt_regs *regs, long err)
#ifdef CONFIG_SMP
printk("SMP NR_CPUS=%d ", NR_CPUS);
#endif
-#ifdef CONFIG_DEBUG_PAGEALLOC
- printk("DEBUG_PAGEALLOC ");
-#endif
+ if (debug_pagealloc_enabled())
+ printk("DEBUG_PAGEALLOC ");
#ifdef CONFIG_NUMA
printk("NUMA ");
#endif

arch/powerpc/mm/hash_utils_64.c

View file
diff --git a/arch/powerpc/mm/hash_utils_64.c b/arch/powerpc/mm/hash_utils_64.c
index ba59d59..1005281 100644
--- a/arch/powerpc/mm/hash_utils_64.c
+++ b/arch/powerpc/mm/hash_utils_64.c
@@ -255,8 +255,10 @@ int htab_bolt_mapping(unsigned long vstart, unsigned long vend,
if (ret < 0)
break;
+
#ifdef CONFIG_DEBUG_PAGEALLOC
- if ((paddr >> PAGE_SHIFT) < linear_map_hash_count)
+ if (debug_pagealloc_enabled() &&
+ (paddr >> PAGE_SHIFT) < linear_map_hash_count)
linear_map_hash_slots[paddr >> PAGE_SHIFT] = ret | 0x80;
#endif /* CONFIG_DEBUG_PAGEALLOC */
}
@@ -512,17 +514,17 @@ static void __init htab_init_page_sizes(void)
if (mmu_has_feature(MMU_FTR_16M_PAGE))
memcpy(mmu_psize_defs, mmu_psize_defaults_gp,
sizeof(mmu_psize_defaults_gp));
- found:
-#ifndef CONFIG_DEBUG_PAGEALLOC
- /*
- * Pick a size for the linear mapping. Currently, we only support
- * 16M, 1M and 4K which is the default
- */
- if (mmu_psize_defs[MMU_PAGE_16M].shift)
- mmu_linear_psize = MMU_PAGE_16M;
- else if (mmu_psize_defs[MMU_PAGE_1M].shift)
- mmu_linear_psize = MMU_PAGE_1M;
-#endif /* CONFIG_DEBUG_PAGEALLOC */
+found:
+ if (!debug_pagealloc_enabled()) {
+ /*
+ * Pick a size for the linear mapping. Currently, we only
+ * support 16M, 1M and 4K which is the default
+ */
+ if (mmu_psize_defs[MMU_PAGE_16M].shift)
+ mmu_linear_psize = MMU_PAGE_16M;
+ else if (mmu_psize_defs[MMU_PAGE_1M].shift)
+ mmu_linear_psize = MMU_PAGE_1M;
+ }
#ifdef CONFIG_PPC_64K_PAGES
/*
@@ -721,10 +723,12 @@ static void __init htab_initialize(void)
prot = pgprot_val(PAGE_KERNEL);
#ifdef CONFIG_DEBUG_PAGEALLOC
- linear_map_hash_count = memblock_end_of_DRAM() >> PAGE_SHIFT;
- linear_map_hash_slots = __va(memblock_alloc_base(linear_map_hash_count,
- 1, ppc64_rma_size));
- memset(linear_map_hash_slots, 0, linear_map_hash_count);
+ if (debug_pagealloc_enabled()) {
+ linear_map_hash_count = memblock_end_of_DRAM() >> PAGE_SHIFT;
+ linear_map_hash_slots = __va(memblock_alloc_base(
+ linear_map_hash_count, 1, ppc64_rma_size));
+ memset(linear_map_hash_slots, 0, linear_map_hash_count);
+ }
#endif /* CONFIG_DEBUG_PAGEALLOC */
/* On U3 based machines, we need to reserve the DART area and

arch/powerpc/mm/init_32.c

View file
diff --git a/arch/powerpc/mm/init_32.c b/arch/powerpc/mm/init_32.c
index a10be66..c2b7716 100644
--- a/arch/powerpc/mm/init_32.c
+++ b/arch/powerpc/mm/init_32.c
@@ -112,10 +112,10 @@ void __init MMU_setup(void)
if (strstr(boot_command_line, "noltlbs")) {
__map_without_ltlbs = 1;
}
-#ifdef CONFIG_DEBUG_PAGEALLOC
- __map_without_bats = 1;
- __map_without_ltlbs = 1;
-#endif
+ if (debug_pagealloc_enabled()) {
+ __map_without_bats = 1;
+ __map_without_ltlbs = 1;
+ }
}
/*

arch/powerpc/mm/mmu_context_hash64.c

View file
diff --git a/arch/powerpc/mm/mmu_context_hash64.c b/arch/powerpc/mm/mmu_context_hash64.c
index 4e4efbc..9ca6fe1 100644
--- a/arch/powerpc/mm/mmu_context_hash64.c
+++ b/arch/powerpc/mm/mmu_context_hash64.c
@@ -118,8 +118,7 @@ static void destroy_pagetable_page(struct mm_struct *mm)
/* drop all the pending references */
count = ((unsigned long)pte_frag & ~PAGE_MASK) >> PTE_FRAG_SIZE_SHIFT;
/* We allow PTE_FRAG_NR fragments from a PTE page */
- count = atomic_sub_return(PTE_FRAG_NR - count, &page->_count);
- if (!count) {
+ if (page_ref_sub_and_test(page, PTE_FRAG_NR - count)) {
pgtable_page_dtor(page);
free_hot_cold_page(page, 0);
}

arch/powerpc/mm/pgtable_64.c

View file
diff --git a/arch/powerpc/mm/pgtable_64.c b/arch/powerpc/mm/pgtable_64.c
index cdf2123..d9cc66c 100644
--- a/arch/powerpc/mm/pgtable_64.c
+++ b/arch/powerpc/mm/pgtable_64.c
@@ -403,7 +403,7 @@ static pte_t *__alloc_for_cache(struct mm_struct *mm, int kernel)
* count.
*/
if (likely(!mm->context.pte_frag)) {
- atomic_set(&page->_count, PTE_FRAG_NR);
+ set_page_count(page, PTE_FRAG_NR);
mm->context.pte_frag = ret + PTE_FRAG_SIZE;
}
spin_unlock(&mm->page_table_lock);

arch/powerpc/platforms/512x/mpc512x_shared.c

View file
diff --git a/arch/powerpc/platforms/512x/mpc512x_shared.c b/arch/powerpc/platforms/512x/mpc512x_shared.c
index 711f3d3..452da23 100644
--- a/arch/powerpc/platforms/512x/mpc512x_shared.c
+++ b/arch/powerpc/platforms/512x/mpc512x_shared.c
@@ -188,7 +188,7 @@ static struct fsl_diu_shared_fb __attribute__ ((__aligned__(8))) diu_shared_fb;
static inline void mpc512x_free_bootmem(struct page *page)
{
BUG_ON(PageTail(page));
- BUG_ON(atomic_read(&page->_count) > 1);
+ BUG_ON(page_ref_count(page) > 1);
free_reserved_page(page);
}

arch/powerpc/platforms/pseries/hotplug-cpu.c

View file

This diff is incomplete. Download the complete patch.

arch/s390/kernel/time.c

View file

This diff is incomplete. Download the complete patch.

arch/s390/kernel/topology.c

View file

This diff is incomplete. Download the complete patch.

arch/sh/mm/hugetlbpage.c

View file

This diff is incomplete. Download the complete patch.

arch/sparc/mm/hugetlbpage.c

View file

This diff is incomplete. Download the complete patch.

arch/tile/mm/hugetlbpage.c

View file

This diff is incomplete. Download the complete patch.

arch/tile/mm/init.c

View file

This diff is incomplete. Download the complete patch.

arch/um/kernel/skas/mmu.c

View file

This diff is incomplete. Download the complete patch.

arch/unicore32/mm/fault.c

View file

This diff is incomplete. Download the complete patch.

arch/unicore32/mm/pgd.c

View file

This diff is incomplete. Download the complete patch.

arch/x86/kernel/aperture_64.c

View file

This diff is incomplete. Download the complete patch.

arch/x86/kernel/tboot.c

View file

This diff is incomplete. Download the complete patch.

arch/x86/mm/gup.c

View file

This diff is incomplete. Download the complete patch.

arch/xtensa/mm/fault.c

View file

This diff is incomplete. Download the complete patch.

crypto/async_tx/async_pq.c

View file

This diff is incomplete. Download the complete patch.

drivers/ata/pata_hpt366.c

View file

This diff is incomplete. Download the complete patch.

drivers/base/property.c

View file

This diff is incomplete. Download the complete patch.

drivers/block/aoe/aoecmd.c

View file

This diff is incomplete. Download the complete patch.

drivers/firmware/broadcom/bcm47xx_nvram.c

View file

This diff is incomplete. Download the complete patch.

drivers/gpu/drm/drm_edid_load.c

View file

This diff is incomplete. Download the complete patch.

drivers/ide/hpt366.c

View file

This diff is incomplete. Download the complete patch.

drivers/net/ethernet/freescale/gianfar.c

View file

This diff is incomplete. Download the complete patch.

drivers/net/ethernet/intel/fm10k/fm10k_main.c

View file

This diff is incomplete. Download the complete patch.

drivers/net/ethernet/intel/igb/igb_main.c

View file

This diff is incomplete. Download the complete patch.

drivers/net/ethernet/intel/ixgbe/ixgbe_main.c

View file

This diff is incomplete. Download the complete patch.

drivers/net/ethernet/intel/ixgbevf/ixgbevf_main.c

View file

This diff is incomplete. Download the complete patch.

drivers/net/ethernet/mellanox/mlx4/en_rx.c

View file

This diff is incomplete. Download the complete patch.

drivers/net/ethernet/sun/niu.c

View file

This diff is incomplete. Download the complete patch.

drivers/net/wireless/marvell/mwifiex/debugfs.c

View file

This diff is incomplete. Download the complete patch.

drivers/pinctrl/pinmux.c

View file

This diff is incomplete. Download the complete patch.

drivers/power/ab8500_btemp.c

View file

This diff is incomplete. Download the complete patch.

drivers/power/ab8500_charger.c

View file

This diff is incomplete. Download the complete patch.

drivers/power/ab8500_fg.c

View file

This diff is incomplete. Download the complete patch.

drivers/power/abx500_chargalg.c

View file

This diff is incomplete. Download the complete patch.

drivers/power/charger-manager.c

View file

This diff is incomplete. Download the complete patch.

drivers/usb/common/common.c

View file

This diff is incomplete. Download the complete patch.

drivers/virtio/virtio_balloon.c

View file

This diff is incomplete. Download the complete patch.

fs/btrfs/tests/btrfs-tests.c

View file

This diff is incomplete. Download the complete patch.

fs/cifs/cifs_debug.c

View file

This diff is incomplete. Download the complete patch.

fs/cifs/cifs_debug.h

View file

This diff is incomplete. Download the complete patch.

fs/cifs/cifsfs.c

View file

This diff is incomplete. Download the complete patch.

fs/cifs/cifsglob.h

View file

This diff is incomplete. Download the complete patch.

fs/eventpoll.c

View file

This diff is incomplete. Download the complete patch.

fs/nilfs2/page.c

View file

This diff is incomplete. Download the complete patch.

fs/proc/base.c

View file

This diff is incomplete. Download the complete patch.

fs/proc/meminfo.c

View file

This diff is incomplete. Download the complete patch.

fs/proc/page.c

View file

This diff is incomplete. Download the complete patch.

fs/proc/vmcore.c

View file

This diff is incomplete. Download the complete patch.

fs/select.c

View file

This diff is incomplete. Download the complete patch.

include/asm-generic/atomic-long.h

View file

This diff is incomplete. Download the complete patch.

include/asm-generic/bug.h

View file

This diff is incomplete. Download the complete patch.

include/asm-generic/pgtable.h

View file

This diff is incomplete. Download the complete patch.

include/linux/buffer_head.h

View file

This diff is incomplete. Download the complete patch.

include/linux/compaction.h

View file

This diff is incomplete. Download the complete patch.

include/linux/freezer.h

View file

This diff is incomplete. Download the complete patch.

include/linux/gfp.h

View file

This diff is incomplete. Download the complete patch.

include/linux/hrtimer.h

View file

This diff is incomplete. Download the complete patch.

include/linux/huge_mm.h

View file

This diff is incomplete. Download the complete patch.

include/linux/kernel.h

View file

This diff is incomplete. Download the complete patch.

include/linux/list_bl.h

View file

This diff is incomplete. Download the complete patch.

include/linux/memcontrol.h

View file

This diff is incomplete. Download the complete patch.

include/linux/mm.h

View file

This diff is incomplete. Download the complete patch.

include/linux/mmzone.h

View file

This diff is incomplete. Download the complete patch.

include/linux/page-flags-layout.h

View file

This diff is incomplete. Download the complete patch.

include/linux/page-flags.h

View file

This diff is incomplete. Download the complete patch.

include/linux/page_ref.h

View file

This diff is incomplete. Download the complete patch.

include/linux/pagemap.h

View file

This diff is incomplete. Download the complete patch.

include/linux/poll.h

View file

This diff is incomplete. Download the complete patch.

include/linux/quicklist.h

View file

This diff is incomplete. Download the complete patch.

include/linux/radix-tree.h

View file

This diff is incomplete. Download the complete patch.

include/linux/rmap.h

View file

This diff is incomplete. Download the complete patch.

include/linux/sched.h

View file

This diff is incomplete. Download the complete patch.

include/linux/sched/sysctl.h

View file

This diff is incomplete. Download the complete patch.

include/linux/string.h

View file

This diff is incomplete. Download the complete patch.

include/linux/tick.h

View file

This diff is incomplete. Download the complete patch.

include/linux/unaligned/access_ok.h

View file

This diff is incomplete. Download the complete patch.

include/linux/vm_event_item.h

View file

This diff is incomplete. Download the complete patch.

include/trace/events/compaction.h

View file

This diff is incomplete. Download the complete patch.

include/trace/events/mmflags.h

View file

This diff is incomplete. Download the complete patch.

include/trace/events/page_ref.h

View file

This diff is incomplete. Download the complete patch.

include/uapi/linux/byteorder/big_endian.h

View file

This diff is incomplete. Download the complete patch.

include/uapi/linux/byteorder/little_endian.h

View file

This diff is incomplete. Download the complete patch.

include/uapi/linux/elf-em.h

View file

This diff is incomplete. Download the complete patch.

include/uapi/linux/swab.h

View file

This diff is incomplete. Download the complete patch.

include/uapi/linux/virtio_balloon.h

View file

This diff is incomplete. Download the complete patch.

kernel/fork.c

View file

This diff is incomplete. Download the complete patch.

kernel/panic.c

View file

This diff is incomplete. Download the complete patch.

kernel/printk/printk.c

View file

This diff is incomplete. Download the complete patch.

kernel/sys.c

View file

This diff is incomplete. Download the complete patch.

kernel/sysctl.c

View file

This diff is incomplete. Download the complete patch.

kernel/time/hrtimer.c

View file

This diff is incomplete. Download the complete patch.

kernel/time/tick-sched.c

View file

This diff is incomplete. Download the complete patch.

kernel/time/timer.c

View file

This diff is incomplete. Download the complete patch.

kernel/watchdog.c

View file

This diff is incomplete. Download the complete patch.

lib/bug.c

View file

This diff is incomplete. Download the complete patch.

lib/kstrtox.c

View file

This diff is incomplete. Download the complete patch.

lib/radix-tree.c

View file

This diff is incomplete. Download the complete patch.

lib/string.c

View file

This diff is incomplete. Download the complete patch.

lib/vsprintf.c

View file

This diff is incomplete. Download the complete patch.

mm/Kconfig

View file

This diff is incomplete. Download the complete patch.

mm/Kconfig.debug

View file

This diff is incomplete. Download the complete patch.

mm/Makefile

View file

This diff is incomplete. Download the complete patch.

mm/backing-dev.c

View file

This diff is incomplete. Download the complete patch.

mm/bootmem.c

View file

This diff is incomplete. Download the complete patch.

mm/compaction.c

View file

This diff is incomplete. Download the complete patch.

mm/debug.c

View file

This diff is incomplete. Download the complete patch.

mm/debug_page_ref.c

View file

This diff is incomplete. Download the complete patch.

mm/dmapool.c

View file

This diff is incomplete. Download the complete patch.

mm/filemap.c

View file

This diff is incomplete. Download the complete patch.

mm/huge_memory.c

View file

This diff is incomplete. Download the complete patch.

mm/hugetlb.c

View file

This diff is incomplete. Download the complete patch.

mm/internal.h

View file

This diff is incomplete. Download the complete patch.

mm/kasan/report.c

View file

This diff is incomplete. Download the complete patch.

mm/kmemcheck.c

View file

This diff is incomplete. Download the complete patch.

mm/kmemleak-test.c

View file

This diff is incomplete. Download the complete patch.

mm/kmemleak.c

View file

This diff is incomplete. Download the complete patch.

mm/memblock.c

View file

This diff is incomplete. Download the complete patch.

mm/memcontrol.c

View file

This diff is incomplete. Download the complete patch.

mm/memory-failure.c

View file

This diff is incomplete. Download the complete patch.

mm/memory.c

View file

This diff is incomplete. Download the complete patch.

mm/memory_hotplug.c

View file

This diff is incomplete. Download the complete patch.

mm/mempolicy.c

View file

This diff is incomplete. Download the complete patch.

mm/mempool.c

View file

This diff is incomplete. Download the complete patch.

mm/migrate.c

View file

This diff is incomplete. Download the complete patch.

mm/mm_init.c

View file

This diff is incomplete. Download the complete patch.

mm/mmap.c

View file

This diff is incomplete. Download the complete patch.

mm/mmu_notifier.c

View file

This diff is incomplete. Download the complete patch.

mm/mremap.c

View file

This diff is incomplete. Download the complete patch.

mm/nobootmem.c

View file

This diff is incomplete. Download the complete patch.

mm/nommu.c

View file

This diff is incomplete. Download the complete patch.

mm/oom_kill.c

View file

This diff is incomplete. Download the complete patch.

mm/page_alloc.c

View file

This diff is incomplete. Download the complete patch.

mm/page_io.c

View file

This diff is incomplete. Download the complete patch.

mm/page_owner.c

View file

This diff is incomplete. Download the complete patch.

mm/percpu-km.c

View file

This diff is incomplete. Download the complete patch.

mm/percpu.c

View file

This diff is incomplete. Download the complete patch.

mm/pgtable-generic.c

View file

This diff is incomplete. Download the complete patch.

mm/quicklist.c

View file

This diff is incomplete. Download the complete patch.

mm/rmap.c

View file

This diff is incomplete. Download the complete patch.

mm/shmem.c

View file

This diff is incomplete. Download the complete patch.

mm/slab.c

View file

This diff is incomplete. Download the complete patch.

mm/slab.h

View file

This diff is incomplete. Download the complete patch.

mm/slab_common.c

View file

This diff is incomplete. Download the complete patch.

mm/slub.c

View file

This diff is incomplete. Download the complete patch.

mm/sparse-vmemmap.c

View file

This diff is incomplete. Download the complete patch.

mm/sparse.c

View file

This diff is incomplete. Download the complete patch.

mm/swap_cgroup.c

View file

This diff is incomplete. Download the complete patch.

mm/swapfile.c

View file

This diff is incomplete. Download the complete patch.

mm/userfaultfd.c

View file

This diff is incomplete. Download the complete patch.

mm/util.c

View file

This diff is incomplete. Download the complete patch.

mm/vmalloc.c

View file

This diff is incomplete. Download the complete patch.

mm/vmscan.c

View file

This diff is incomplete. Download the complete patch.

mm/vmstat.c

View file

This diff is incomplete. Download the complete patch.

mm/workingset.c

View file

This diff is incomplete. Download the complete patch.

mm/zsmalloc.c

View file

This diff is incomplete. Download the complete patch.

net/core/sock.c

View file

This diff is incomplete. Download the complete patch.

sound/drivers/pcsp/pcsp.c

View file

This diff is incomplete. Download the complete patch.

tools/testing/radix-tree/.gitignore

View file

This diff is incomplete. Download the complete patch.

tools/testing/radix-tree/Makefile

View file

This diff is incomplete. Download the complete patch.

tools/testing/radix-tree/find_next_bit.c

View file

This diff is incomplete. Download the complete patch.

tools/testing/radix-tree/linux.c

View file

This diff is incomplete. Download the complete patch.

tools/testing/radix-tree/linux/bitops.h

View file

This diff is incomplete. Download the complete patch.

tools/testing/radix-tree/linux/bitops/__ffs.h

View file

This diff is incomplete. Download the complete patch.

tools/testing/radix-tree/linux/bitops/ffs.h

View file

This diff is incomplete. Download the complete patch.

tools/testing/radix-tree/linux/bitops/ffz.h

View file

This diff is incomplete. Download the complete patch.

tools/testing/radix-tree/linux/bitops/find.h

View file

This diff is incomplete. Download the complete patch.

tools/testing/radix-tree/linux/bitops/fls.h

View file

This diff is incomplete. Download the complete patch.

tools/testing/radix-tree/linux/bitops/fls64.h

View file

This diff is incomplete. Download the complete patch.

tools/testing/radix-tree/linux/bitops/hweight.h

View file

This diff is incomplete. Download the complete patch.

tools/testing/radix-tree/linux/bitops/le.h

View file

This diff is incomplete. Download the complete patch.

tools/testing/radix-tree/linux/bitops/non-atomic.h

View file

This diff is incomplete. Download the complete patch.

tools/testing/radix-tree/linux/bug.h

View file

This diff is incomplete. Download the complete patch.

tools/testing/radix-tree/linux/cpu.h

View file

This diff is incomplete. Download the complete patch.

tools/testing/radix-tree/linux/export.h

View file

This diff is incomplete. Download the complete patch.

tools/testing/radix-tree/linux/gfp.h

View file

This diff is incomplete. Download the complete patch.

tools/testing/radix-tree/linux/kernel.h

View file

This diff is incomplete. Download the complete patch.

tools/testing/radix-tree/linux/kmemleak.h

View file

This diff is incomplete. Download the complete patch.

tools/testing/radix-tree/linux/mempool.h

View file

This diff is incomplete. Download the complete patch.

tools/testing/radix-tree/linux/notifier.h

View file

This diff is incomplete. Download the complete patch.

tools/testing/radix-tree/linux/percpu.h

View file

This diff is incomplete. Download the complete patch.

tools/testing/radix-tree/linux/preempt.h

View file

This diff is incomplete. Download the complete patch.

tools/testing/radix-tree/linux/radix-tree.h

View file

This diff is incomplete. Download the complete patch.

tools/testing/radix-tree/linux/rcupdate.h

View file

This diff is incomplete. Download the complete patch.

tools/testing/radix-tree/linux/slab.h

View file

This diff is incomplete. Download the complete patch.

tools/testing/radix-tree/linux/types.h

View file

This diff is incomplete. Download the complete patch.

tools/testing/radix-tree/main.c

View file

This diff is incomplete. Download the complete patch.

tools/testing/radix-tree/rcupdate.c

View file

This diff is incomplete. Download the complete patch.

tools/testing/radix-tree/regression.h

View file

This diff is incomplete. Download the complete patch.

tools/testing/radix-tree/regression1.c

View file

This diff is incomplete. Download the complete patch.

tools/testing/radix-tree/regression2.c

View file

This diff is incomplete. Download the complete patch.

tools/testing/radix-tree/regression3.c

View file

This diff is incomplete. Download the complete patch.

tools/testing/radix-tree/tag_check.c

View file

This diff is incomplete. Download the complete patch.

tools/testing/radix-tree/test.c

View file

This diff is incomplete. Download the complete patch.

tools/testing/radix-tree/test.h

View file

This diff is incomplete. Download the complete patch.

tools/vm/page-types.c

View file

This diff is incomplete. Download the complete patch.