linux-stable/arch
Dan Williams 033fbae988 mm: ZONE_DEVICE for "device memory"
While pmem is usable as a block device or via DAX mappings to userspace
there are several usage scenarios that can not target pmem due to its
lack of struct page coverage. In preparation for "hot plugging" pmem
into the vmemmap add ZONE_DEVICE as a new zone to tag these pages
separately from the ones that are subject to standard page allocations.
Importantly "device memory" can be removed at will by userspace
unbinding the driver of the device.

Having a separate zone prevents allocation and otherwise marks these
pages that are distinct from typical uniform memory.  Device memory has
different lifetime and performance characteristics than RAM.  However,
since we have run out of ZONES_SHIFT bits this functionality currently
depends on sacrificing ZONE_DMA.

Cc: H. Peter Anvin <hpa@zytor.com>
Cc: Ingo Molnar <mingo@redhat.com>
Cc: Dave Hansen <dave.hansen@linux.intel.com>
Cc: Rik van Riel <riel@redhat.com>
Cc: Mel Gorman <mgorman@suse.de>
Cc: Jerome Glisse <j.glisse@gmail.com>
[hch: various simplifications in the arch interface]
Signed-off-by: Christoph Hellwig <hch@lst.de>
Signed-off-by: Dan Williams <dan.j.williams@intel.com>
2015-08-27 19:40:58 -04:00
..
alpha
arc
arm mm: move __phys_to_pfn and __pfn_to_phys to asm/generic/memory_model.h 2015-08-27 19:40:58 -04:00
arm64 mm: move __phys_to_pfn and __pfn_to_phys to asm/generic/memory_model.h 2015-08-27 19:40:58 -04:00
avr32 AVR32/time: Migrate to new 'set-state' interface 2015-07-20 12:19:10 +02:00
blackfin
c6x
cris
frv
h8300
hexagon
ia64 mm: ZONE_DEVICE for "device memory" 2015-08-27 19:40:58 -04:00
m32r m32r: Add ioreadXX/iowriteXX big-endian mmio accessors 2015-07-23 18:08:28 -07:00
m68k
metag
microblaze
mips Merge branch 'upstream' of git://git.linux-mips.org/pub/scm/ralf/upstream-linus 2015-07-19 14:12:22 -07:00
mn10300
nios2
openrisc
parisc parisc: mm: Fix a memory leak related to pmd not attached to the pgd 2015-07-19 08:56:14 +02:00
powerpc mm: ZONE_DEVICE for "device memory" 2015-08-27 19:40:58 -04:00
s390 mm: ZONE_DEVICE for "device memory" 2015-08-27 19:40:58 -04:00
score
sh mm: ZONE_DEVICE for "device memory" 2015-08-27 19:40:58 -04:00
sparc cleanup IORESOURCE_CACHEABLE vs ioremap() 2015-08-10 23:07:06 -04:00
tile mm: ZONE_DEVICE for "device memory" 2015-08-27 19:40:58 -04:00
um
unicore32 mm: move __phys_to_pfn and __pfn_to_phys to asm/generic/memory_model.h 2015-08-27 19:40:58 -04:00
x86 mm: ZONE_DEVICE for "device memory" 2015-08-27 19:40:58 -04:00
xtensa arch: introduce memremap() 2015-08-14 13:23:28 -04:00
.gitignore
Kconfig x86/fpu, sched: Introduce CONFIG_ARCH_WANTS_DYNAMIC_TASK_STRUCT and use it on x86 2015-07-18 03:42:51 +02:00