linux_dsm_epyc7002/drivers
Luca Porzio d3df0465db mmc: remove bondage between REQ_META and reliable write
Anytime a write operation is performed with Reliable Write flag enabled,
the eMMC device is enforced to bypass the cache and do a write to the
underling NVM device by Jedec specification; this causes a performance
penalty since write operations can't be optimized by the device cache.

In our tests, we replayed a typical mobile daily trace pattern and found
~9% overall time reduction in trace replay by using this patch. Also the
write ops within 4KB~64KB chunk size range get a 40~60% performance
improvement by using the patch (as this range of write chunks are the ones
affected by REQ_META).

This patch has been discussed in the Mobile & Embedded Linux Storage Forum
and it's the results of feedbacks from many people. We also checked with
fsdevl and f2fs mailing list developers that this change in the usage of
REQ_META is not affecting FS behavior and we got positive feedbacks.
Reporting here the feedbacks:
http://comments.gmane.org/gmane.linux.file-systems/97219
http://thread.gmane.org/gmane.linux.file-systems.f2fs/3178/focus=3183

Signed-off-by: Bruce Ford <bford@micron.com>
Signed-off-by: Luca Porzio <lporzio@micron.com>
Fixes: ce39f9d17c ("mmc: support packed write command for eMMC4.5 devices")
Signed-off-by: Ulf Hansson <ulf.hansson@linaro.org>
2015-11-09 14:04:52 +01:00
..
accessibility
acpi asm-generic cleanups 2015-11-06 14:22:15 -08:00
amba
android
ata Merge branch 'for-4.3-fixes' into for-4.4 2015-11-03 17:29:03 -05:00
atm
auxdisplay
base Merge branch 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/jikos/trivial 2015-11-07 13:05:44 -08:00
bcma
block Merge branch 'akpm' (patches from Andrew) 2015-11-07 14:32:45 -08:00
bluetooth driver core update for 4.4-rc1 2015-11-04 21:50:37 -08:00
bus
cdrom
char powerpc updates for 4.4 2015-11-05 23:38:43 -08:00
clk powerpc updates for 4.4 2015-11-05 23:38:43 -08:00
clocksource Power management and ACPI updates for v4.4-rc1 2015-11-04 18:10:13 -08:00
connector mm, page_alloc: distinguish between being unable to sleep, unwilling to sleep and avoiding waking kswapd 2015-11-06 17:50:42 -08:00
cpufreq Merge branch 'pm-opp' 2015-11-02 00:54:37 +01:00
cpuidle
crypto asm-generic cleanups 2015-11-06 14:22:15 -08:00
dca
devfreq
dio
dma char/misc drivers for 4.4-rc1 2015-11-04 22:15:15 -08:00
dma-buf
edac asm-generic cleanups 2015-11-06 14:22:15 -08:00
eisa
extcon
firewire mm, page_alloc: distinguish between being unable to sleep, unwilling to sleep and avoiding waking kswapd 2015-11-06 17:50:42 -08:00
firmware Half dozen small cleanups plus change to allow pstore 2015-11-05 11:51:18 -08:00
fmc
fpga
gpio asm-generic cleanups 2015-11-06 14:22:15 -08:00
gpu Merge branch 'akpm' (patches from Andrew) 2015-11-07 14:32:45 -08:00
hid Merge branch 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/jikos/hid 2015-11-07 12:49:27 -08:00
hsi
hv drivers/hv: share Hyper-V SynIC constants with userspace 2015-11-04 16:24:33 +01:00
hwmon Merge branch 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/jikos/trivial 2015-11-07 13:05:44 -08:00
hwspinlock
hwtracing
i2c asm-generic cleanups 2015-11-06 14:22:15 -08:00
ide mm, page_alloc: rename __GFP_WAIT to __GFP_RECLAIM 2015-11-06 17:50:42 -08:00
idle
iio spi: Updates for v4.4 2015-11-05 13:15:12 -08:00
infiniband Merge branch 'akpm' (patches from Andrew) 2015-11-07 14:32:45 -08:00
input Merge branch 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/dtor/input 2015-11-06 11:57:41 -08:00
iommu mm, page_alloc: distinguish between being unable to sleep, unwilling to sleep and avoiding waking kswapd 2015-11-06 17:50:42 -08:00
ipack
irqchip Power management and ACPI updates for v4.4-rc1 2015-11-04 18:10:13 -08:00
isdn TTY/Serial driver patches for 4.4-rc1 2015-11-04 21:35:12 -08:00
leds spi: Updates for v4.4 2015-11-05 13:15:12 -08:00
lguest
lightnvm lightnvm: refactor phys addrs type to u64 2015-11-03 09:53:24 -07:00
macintosh
mailbox mailbox: mailbox-test: avoid reading iomem twice 2015-11-04 14:03:04 +05:30
mcb
md Merge branch 'akpm' (patches from Andrew) 2015-11-07 14:32:45 -08:00
media mm, page_alloc: distinguish between being unable to sleep, unwilling to sleep and avoiding waking kswapd 2015-11-06 17:50:42 -08:00
memory char/misc drivers for 4.4-rc1 2015-11-04 22:15:15 -08:00
memstick
message
mfd asm-generic cleanups 2015-11-06 14:22:15 -08:00
misc Merge branch 'akpm' (patches from Andrew) 2015-11-07 14:32:45 -08:00
mmc mmc: remove bondage between REQ_META and reliable write 2015-11-09 14:04:52 +01:00
mtd Merge branch 'akpm' (patches from Andrew) 2015-11-07 14:32:45 -08:00
net Merge branch 'akpm' (patches from Andrew) 2015-11-07 14:32:45 -08:00
nfc spi: Updates for v4.4 2015-11-05 13:15:12 -08:00
ntb
nubus
nvdimm
nvme Merge branch 'akpm' (patches from Andrew) 2015-11-07 14:32:45 -08:00
nvmem
of DeviceTree updates for 4.4: 2015-11-06 12:17:09 -08:00
oprofile
parisc
parport
pci PCI changes for the v4.4 merge window: 2015-11-06 11:29:53 -08:00
pcmcia
perf arm64 updates for 4.4: 2015-11-04 14:47:13 -08:00
phy USB patches for 4.4-rc1 2015-11-04 21:26:27 -08:00
pinctrl This is the bulk of GPIO changes for v4.4: 2015-11-02 12:59:12 -08:00
platform asm-generic cleanups 2015-11-06 14:22:15 -08:00
pnp
power - New Device Support 2015-11-06 10:23:50 -08:00
powercap
pps
ps3
ptp
pwm
rapidio
ras
regulator spi: Updates for v4.4 2015-11-05 13:15:12 -08:00
remoteproc
reset
rpmsg
rtc
s390 Merge branch 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/s390/linux 2015-11-04 11:31:31 -08:00
sbus
scsi Merge branch 'akpm' (patches from Andrew) 2015-11-07 14:32:45 -08:00
sfi
sh
sn
soc
spi Merge remote-tracking branches 'spi/topic/s3c64xx', 'spi/topic/ti-qspi' and 'spi/topic/txx9' into spi-next 2015-11-04 11:02:16 +00:00
spmi char/misc drivers for 4.4-rc1 2015-11-04 22:15:15 -08:00
ssb
staging Merge branch 'akpm' (patches from Andrew) 2015-11-07 14:32:45 -08:00
target
tc
thermal
thunderbolt
tty asm-generic cleanups 2015-11-06 14:22:15 -08:00
uio
usb Merge branch 'akpm' (patches from Andrew) 2015-11-07 14:32:45 -08:00
uwb driver core update for 4.4-rc1 2015-11-04 21:50:37 -08:00
vfio
vhost
video mm, page_alloc: distinguish between being unable to sleep, unwilling to sleep and avoiding waking kswapd 2015-11-06 17:50:42 -08:00
virt
virtio
vlynq
vme char/misc drivers for 4.4-rc1 2015-11-04 22:15:15 -08:00
w1 power supply and reset changes for the v4.4 series 2015-11-05 12:28:15 -08:00
watchdog
xen
zorro
Kconfig char/misc drivers for 4.4-rc1 2015-11-04 22:15:15 -08:00
Makefile char/misc drivers for 4.4-rc1 2015-11-04 22:15:15 -08:00