original_kernel/drivers
Dan Williams ab68f26221 /dev/dax, pmem: direct access to persistent memory
Device DAX is the device-centric analogue of Filesystem DAX
(CONFIG_FS_DAX).  It allows memory ranges to be allocated and mapped
without need of an intervening file system.  Device DAX is strict,
precise and predictable.  Specifically this interface:

1/ Guarantees fault granularity with respect to a given page size (pte,
pmd, or pud) set at configuration time.

2/ Enforces deterministic behavior by being strict about what fault
scenarios are supported.

For example, by forcing MADV_DONTFORK semantics and omitting MAP_PRIVATE
support device-dax guarantees that a mapping always behaves/performs the
same once established.  It is the "what you see is what you get" access
mechanism to differentiated memory vs filesystem DAX which has
filesystem specific implementation semantics.

Persistent memory is the first target, but the mechanism is also
targeted for exclusive allocations of performance differentiated memory
ranges.

This commit is limited to the base device driver infrastructure to
associate a dax device with pmem range.

Cc: Jeff Moyer <jmoyer@redhat.com>
Cc: Christoph Hellwig <hch@lst.de>
Cc: Andrew Morton <akpm@linux-foundation.org>
Cc: Dave Hansen <dave.hansen@linux.intel.com>
Cc: Ross Zwisler <ross.zwisler@linux.intel.com>
Reviewed-by: Johannes Thumshirn <jthumshirn@suse.de>
Signed-off-by: Dan Williams <dan.j.williams@intel.com>
2016-05-20 22:02:53 -07:00
..
accessibility
acpi
amba
android
ata
atm
auxdisplay
base
bcma
block Merge branch 'for-linus' of git://git.kernel.dk/linux-block 2016-04-15 15:44:10 -07:00
bluetooth
bus mvebu fixes for 4.6 (part 1) 2016-04-12 12:35:07 -07:00
cdrom
char
clk
clocksource
connector
cpufreq
cpuidle
crypto
dax /dev/dax, pmem: direct access to persistent memory 2016-05-20 22:02:53 -07:00
dca
devfreq
dio
dma Merge branch 'fix/edma' into fixes 2016-04-16 22:52:03 +05:30
dma-buf
edac
eisa
extcon
firewire
firmware Merge branch 'efi-urgent-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip 2016-04-16 15:37:05 -07:00
fmc
fpga
gpio
gpu Merge branch 'exynos-drm-fixes' of git://git.kernel.org/pub/scm/linux/kernel/git/daeinki/drm-exynos into drm-fixes 2016-04-14 13:06:19 +10:00
hid Merge branch 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/jikos/hid 2016-04-11 12:31:09 -07:00
hsi
hv
hwmon
hwspinlock
hwtracing
i2c i2c: jz4780: really prevent potential division by zero 2016-04-09 08:36:44 +02:00
ide
idle
iio
infiniband
input
iommu
ipack
irqchip
isdn
leds
lguest
lightnvm
macintosh
mailbox Merge branch 'mailbox-devel' of git://git.linaro.org/landing-teams/working/fujitsu/integration 2016-04-14 18:40:47 -07:00
mcb
md dm cache metadata: fix cmd_read_lock() acquiring write lock 2016-04-17 11:24:46 -04:00
media
memory
memstick
message
mfd
misc
mmc mmc: tegra: Disable UHS-I modes for Tegra124 2016-04-14 11:40:01 +02:00
mtd One MTD fix for v4.6-rc4: 2016-04-15 15:25:09 -07:00
net
nfc
ntb
nubus
nvdimm libnvdimm: stop requiring a driver ->remove() method 2016-05-18 09:13:13 -07:00
nvme NVMe: Always use MSI/MSI-x interrupts 2016-04-14 14:04:50 -06:00
nvmem
of
oprofile
parisc
parport
pci pci-sysfs: use proper file capability helper function 2016-04-14 12:56:09 -07:00
pcmcia
perf
phy
pinctrl
platform
pnp
power
powercap
pps
ps3
ptp
pwm pwm: fsl-ftm: Use flat regmap cache 2016-04-14 16:54:00 +02:00
rapidio
ras
regulator
remoteproc
reset
rpmsg
rtc
s390
sbus
scsi SCSI fixes on 20160408 2016-04-09 12:00:42 -07:00
sfi
sh
sn
soc
spi
spmi
ssb
staging Staging / IIO driver fixes for 4.6-rc3 2016-04-09 12:09:37 -07:00
target
tc
thermal
thunderbolt
tty
uio
usb usb: hcd: out of bounds access in for_each_companion 2016-04-13 12:06:18 -07:00
uwb
vfio
vhost
video
virt
virtio
vlynq
vme
w1
watchdog
xen
zorro
Kconfig /dev/dax, pmem: direct access to persistent memory 2016-05-20 22:02:53 -07:00
Makefile /dev/dax, pmem: direct access to persistent memory 2016-05-20 22:02:53 -07:00