android_kernel_xiaomi_sm7250/drivers
NeilBrown c0e485216d [PATCH] md: fix is_mddev_idle calculation now that disk/sector accounting happens when request completes
md needs to monitor the rate of requests to its devices when doing
resync/recovery so that it can back-off when there is non-resync IO.  It
does this by comparing resync IO, which it counts, with total IO which is
taken from disk_stats.

disk_stats were recently changed to account sectors when a request
completes instead of when it is queued.  This upsets md's calculations.

We could do the sync_io accounting at the end of requests too, but that has
problems.  If an underlying device is an md array, the accounting will
still be done when the request is submitted.  This could be changed for
some raid levels, but it cannot be changed for raid0 or linear without
substantial code changes.

So instead, we increase the error that is_mddev_idle allows, up to the
maximum amount of resync IO that can be in flight at any time.  The
calculation is current fragile as each personality as different limits for
in-flight resync.  This should be fixed up.

For now, this simple patch fixes the problem.

Increasing the error margin decreases the sensitivity to non-resync IO.  To
partially compensate for this, the time to wait when non-resync IO is
detected is increased so that less steady IO is required to keep the resync
at bay.

Signed-off-by: Neil Brown <neilb@suse.de>
Signed-off-by: Andrew Morton <akpm@osdl.org>
Signed-off-by: Linus Torvalds <torvalds@osdl.org>
2005-11-18 07:49:46 -08:00
..
acorn [ARM] Turn ARM RiscPC PCF8583 i2c RTC driver into a proper module 2005-10-30 19:07:59 +00:00
acpi Fix ACPI processor power block initialization 2005-11-18 07:29:51 -08:00
atm [ATM]: [horizon] fix sparse warnings 2005-11-10 12:55:52 -08:00
base [PATCH] fix leaks in request_firmware_nowait 2005-11-13 18:14:17 -08:00
block [PATCH] cciss_scsi warning fix 2005-11-15 08:59:20 -08:00
bluetooth [Bluetooth]: Add endian annotations to the core 2005-11-08 09:57:21 -08:00
cdrom [PATCH] drivers/cdrom: kmalloc + memset -> kzalloc conversion 2005-11-07 07:53:59 -08:00
char [PATCH] tpm: remove PCI kconfig dependency 2005-11-18 07:49:46 -08:00
connector [PATCH] Process Events Connector 2005-11-07 07:53:35 -08:00
cpufreq [PATCH] cpu hotplug: fix locking in cpufreq drivers 2005-11-09 07:55:50 -08:00
crypto [PATCH] CONFIG_IA32 2005-10-30 17:37:10 -08:00
dio [PATCH] drivers/dio: kmalloc + memset -> kzalloc conversion 2005-11-07 07:53:59 -08:00
eisa [PATCH] drivers/eisa: kmalloc + memset -> kzalloc conversion 2005-11-07 07:53:59 -08:00
fc4 [PATCH] kfree cleanup: misc remaining drivers 2005-11-07 07:54:05 -08:00
firmware [PATCH] changing CONFIG_LOCALVERSION rebuilds too much, for no good reason 2005-11-09 07:55:57 -08:00
hwmon Merge master.kernel.org:/home/rmk/linux-2.6-drvmodel 2005-11-11 09:24:26 -08:00
i2c [PATCH] Fix IXP4xx I2C driver build breakage 2005-11-17 11:23:48 -08:00
ide [IDE] Add driver for Sibyte Swarm evaluation board 2005-11-17 16:23:50 +00:00
ieee1394 [PATCH] ieee1394: fix-up schedule_timeout() usage 2005-11-07 07:53:57 -08:00
infiniband [PATCH] PCI: removed unneeded .owner field from struct pci_driver 2005-11-10 16:09:17 -08:00
input Merge master.kernel.org:/home/rmk/linux-2.6-drvmodel 2005-11-11 09:24:26 -08:00
isdn [PATCH] hfc_usb: fix usb device table 2005-11-15 08:59:19 -08:00
macintosh macintosh: Always export pmu_[un]register_sleep_notifier if CONFIG_PM set 2005-11-08 12:14:50 +11:00
mca [PATCH] fix missing includes 2005-10-30 17:37:32 -08:00
md [PATCH] md: fix is_mddev_idle calculation now that disk/sector accounting happens when request completes 2005-11-18 07:49:46 -08:00
media [DVB] cinergyT2: cinergyt2_register_rc() should return 0 on success 2005-11-16 00:11:50 -08:00
message [PATCH] drivers/message/fusion/mptbase.c: make code static 2005-11-09 07:56:41 -08:00
mfd [DRIVER MODEL] Convert platform drivers to use struct platform_driver 2005-11-09 22:32:44 +00:00
misc Merge master.kernel.org:/home/rmk/linux-2.6-drvmodel 2005-11-11 09:24:26 -08:00
mmc [MMC] mmci doesn't need asm/irq.h 2005-11-12 17:26:21 +00:00
mtd [MTD] maps: Replace dependency on non existing config option 2005-11-13 19:30:44 +01:00
net [PATCH] ipw2200: fix error log offset calculation 2005-11-17 08:32:58 -08:00
nubus
oprofile
parisc Auto-update from upstream 2005-10-28 12:18:07 -04:00
parport [PATCH] kfree cleanup: misc remaining drivers 2005-11-07 07:54:05 -08:00
pci [PATCH] shpchp_hpc build fix 2005-11-13 18:14:12 -08:00
pcmcia [PCMCIA] inform user of insertion and ejection events 2005-11-12 23:35:34 +01:00
pnp [PATCH] drivers/pnp/: cleanups 2005-11-07 07:54:09 -08:00
rapidio [PATCH] rapidio: message interface updates 2005-11-07 07:53:47 -08:00
s390 [PATCH] s390: mail address changed 2005-11-11 08:26:22 -05:00
sbus [SPARC]: Fix RTC compat ioctl kernel log spam. 2005-11-12 12:10:54 -08:00
scsi [libata sata_mv] SATA probe, DMA boundary fixes 2005-11-17 10:59:48 -05:00
serial Merge master.kernel.org:/home/rmk/linux-2.6-serial 2005-11-13 18:17:21 -08:00
sh [PATCH] superhyway: multiple block support and VCR rework 2005-11-07 07:53:28 -08:00
sn
tc [MIPS] zs.c: Resurrect the deceased zs.c for now. 2005-11-17 16:23:39 +00:00
telephony [PATCH] changing CONFIG_LOCALVERSION rebuilds too much, for no good reason 2005-11-09 07:55:57 -08:00
usb [PATCH] Fix copy-paste bug in ohci-ppc-soc.c 2005-11-18 07:49:45 -08:00
video offb: Fix compile error on ppc32 systems 2005-11-18 16:41:49 +11:00
w1 [PATCH] kfree cleanup: misc remaining drivers 2005-11-07 07:54:05 -08:00
zorro [PATCH] fix missing includes 2005-10-30 17:37:32 -08:00
Kconfig
Makefile [PATCH] RapidIO support: core base 2005-11-07 07:53:46 -08:00