OpenCloudOS-Kernel/drivers
Michael Lyle 616486ab52 bcache: fix writeback target calc on large devices
Bcache needs to scale the dirty data in the cache over the multiple
backing disks in order to calculate writeback rates for each.
The previous code did this by multiplying the target number of dirty
sectors by the backing device size, and expected it to fit into a
uint64_t; this blows up on relatively small backing devices.

The new approach figures out the bdev's share in 16384ths of the overall
cached data.  This is chosen to cope well when bdevs drastically vary in
size and to ensure that bcache can cross the petabyte boundary for each
backing device.

This has been improved based on Tang Junhui's feedback to ensure that
every device gets a share of dirty data, no matter how small it is
compared to the total backing pool.

The existing mechanism is very limited; this is purely a bug fix to
remove limits on volume size.  However, there still needs to be change
to make this "fair" over many volumes where some are idle.

Reported-by: Jack Douglas <jack@douglastechnology.co.uk>
Signed-off-by: Michael Lyle <mlyle@lyle.org>
Reviewed-by: Tang Junhui <tang.junhui@zte.com.cn>
Signed-off-by: Jens Axboe <axboe@kernel.dk>
2018-01-08 13:29:00 -07:00
..
accessibility
acpi PM / sleep: Avoid excess pm_runtime_enable() calls in device_resume() 2017-12-11 14:32:56 +01:00
amba
android ANDROID: binder: fix transaction leak. 2017-11-28 16:54:45 +01:00
ata libata: sata_down_spd_limit should return if driver has not recorded sstatus speed 2017-12-04 13:57:03 -08:00
atm Merge git://git.kernel.org/pub/scm/linux/kernel/git/davem/net 2017-11-29 13:10:25 -08:00
auxdisplay auxdisplay: img-ascii-lcd: Only build on archs that have IOMEM 2017-11-27 12:36:45 -08:00
base PM / sleep: Avoid excess pm_runtime_enable() calls in device_resume() 2017-12-11 14:32:56 +01:00
bcma
block DAC960: split up ioctl function to reduce stack size 2018-01-06 09:18:00 -07:00
bluetooth
bus bus: arm-ccn: fix module unloading Error: Removing state 147 which has instances left. 2017-12-04 17:15:20 +00:00
cdrom
char The big changes for IPMI that just went in had a few problems. These 2017-12-11 17:01:59 -08:00
clk
clocksource - final batch of "non trivial" timer conversions (multi-tree dependencies, 2017-11-23 16:29:05 +01:00
connector
cpufreq
cpuidle
crypto
dax device-dax: implement ->split() to catch invalid munmap attempts 2017-11-29 18:40:42 -08:00
dca
devfreq
dio
dma dmaengine: fsl-edma: disable clks on all error paths 2017-12-15 09:53:04 +05:30
dma-buf
edac
eisa
extcon
firewire
firmware ARM: SoC fixes for 4.15-rc 2017-12-10 08:26:59 -08:00
fmc
fpga
fsi
gpio gpio: pca953x: fix vendor prefix for PCA9654 2017-12-02 22:41:43 +01:00
gpu Merge branch 'akpm' (patches from Andrew) 2017-12-14 16:35:20 -08:00
hid treewide: setup_timer() -> timer_setup() 2017-11-21 15:57:07 -08:00
hsi
hv Drivers: hv: vmbus: Fix a rescind issue 2017-11-28 16:56:26 +01:00
hwmon hwmon: (jc42) optionally try to disable the SMBUS timeout 2017-11-30 13:12:44 -08:00
hwspinlock
hwtracing tracing: Pass export pointer as argument to ->write() 2017-12-04 07:14:30 -05:00
i2c i2c: piix4: Fix port number check on release 2017-12-12 23:27:04 +01:00
ide
idle
iio iio: health: max30102: Temperature should be in milli Celsius 2017-12-02 11:15:14 +00:00
infiniband Second pull request for 4.15-rc 2017-12-16 13:43:08 -08:00
input treewide: Remove TIMER_FUNC_TYPE and TIMER_DATA_TYPE casts 2017-11-21 16:35:54 -08:00
iommu IOMMU fixes for Linux v4.15-rc3 2017-12-06 10:53:02 -08:00
ipack
irqchip Merge branch 'irq-urgent-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip 2017-11-26 14:39:20 -08:00
isdn treewide: setup_timer() -> timer_setup() (2 field) 2017-11-21 15:57:09 -08:00
leds
lightnvm lightnvm: pblk: refactor pblk_ppa_comp function 2018-01-05 08:50:12 -07:00
macintosh
mailbox
mcb
md bcache: fix writeback target calc on large devices 2018-01-08 13:29:00 -07:00
media media fixes for v4.15-rc3 2017-12-08 13:18:47 -08:00
memory
memstick treewide: setup_timer() -> timer_setup() 2017-11-21 15:57:07 -08:00
message
mfd treewide: setup_timer() -> timer_setup() 2017-11-21 15:57:07 -08:00
misc Merge branch 'WIP.x86-pti.base.prep-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip 2017-12-17 13:54:31 -08:00
mmc mmc: core: apply NO_CMD23 quirk to some specific cards 2017-12-11 13:43:27 +01:00
mtd Rename superblock flags (MS_xyz -> SB_xyz) 2017-11-27 13:05:09 -08:00
mux
net net: qcom/emac: Reduce timeout for mdio read/write 2017-12-15 15:46:19 -05:00
nfc treewide: setup_timer() -> timer_setup() (2 field) 2017-11-21 15:57:09 -08:00
ntb treewide: setup_timer() -> timer_setup() 2017-11-21 15:57:07 -08:00
nubus
nvdimm
nvme nvme: fix subsystem multiple controllers support check 2018-01-08 16:57:00 +01:00
nvmem
of of_mdio / mdiobus: ensure mdio devices have fwnode correctly populated 2017-12-13 15:01:47 -05:00
opp
oprofile
parisc
parport
pci Power management fix for v4.15-rc4 2017-12-14 18:25:03 -08:00
pcmcia
perf
phy
pinctrl pinctrl: sunxi: Disable strict mode for H5 driver 2017-11-30 16:50:43 +01:00
platform platform/x86: dell-wmi: check for kmalloc() errors 2017-12-11 17:26:03 -08:00
pnp
power
powercap
pps treewide: setup_timer() -> timer_setup() 2017-11-21 15:57:07 -08:00
ps3
ptp
pwm pwm: Changes for v4.15-rc1 2017-11-22 21:09:18 -10:00
rapidio
ras
regulator
remoteproc
reset
rpmsg
rtc Merge branch 'timers-urgent-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip 2017-11-25 08:37:16 -10:00
s390 s390/qeth: update takeover IPs after configuration change 2017-12-15 11:29:43 -05:00
sbus
scsi SCSI fixes on 20171215 2017-12-15 12:51:42 -08:00
sfi
sh
sn
soc meson-gx-socinfo: Fix package id parsing 2017-11-30 15:29:44 -08:00
spi
spmi
ssb
staging Merge tag 'staging-4.15-rc4' of git://git.kernel.org/pub/scm/linux/kernel/git/gregkh/staging 2017-12-15 12:59:48 -08:00
target target: Use sgl_alloc_order() and sgl_free() 2018-01-06 09:18:00 -07:00
tc
tee optee: fix invalid of_node_put() in optee_driver_init() 2017-11-29 10:24:57 +01:00
thermal
thunderbolt
tty serdev: ttyport: fix tty locking in close 2017-11-28 16:00:50 +01:00
uio
usb USB: core: prevent malicious bNumInterfaces overflow 2017-12-13 12:28:43 +01:00
uwb treewide: setup_timer() -> timer_setup() 2017-11-21 15:57:07 -08:00
vfio
vhost vhost: fix skb leak in handle_rx() 2017-12-02 21:31:03 -05:00
video
virt
virtio virtio_mmio: fix devm cleanup 2017-12-14 21:01:40 +02:00
vlynq
vme
w1
watchdog treewide: setup_timer() -> timer_setup() 2017-11-21 15:57:07 -08:00
xen xen: fixes for 4.15-rc4 2017-12-15 11:32:09 -08:00
zorro
Kconfig
Makefile usb: build drivers/usb/common/ when USB_SUPPORT is set 2017-11-28 15:17:49 +01:00