linux/drivers
Mike Snitzer 0cdb90f0f3 dm stats: fix too short end duration_ns when using precise_timestamps
dm_stats_account_io()'s STAT_PRECISE_TIMESTAMPS support doesn't handle
the fact that with commit b879f915bc ("dm: properly fix redundant
bio-based IO accounting") io->start_time _may_ be in the past (meaning
the start_io_acct() was deferred until later).

Add a new dm_stats_recalc_precise_timestamps() helper that will
set/clear a new 'precise_timestamps' flag in the dm_stats struct based
on whether any configured stats enable STAT_PRECISE_TIMESTAMPS.
And update DM core's alloc_io() to use dm_stats_record_start() to set
stats_aux.duration_ns if stats->precise_timestamps is true.

Also, remove unused 'last_sector' and 'last_rw' members from the
dm_stats struct.

Fixes: b879f915bc ("dm: properly fix redundant bio-based IO accounting")
Cc: stable@vger.kernel.org
Co-developed-by: Mikulas Patocka <mpatocka@redhat.com>
Signed-off-by: Mikulas Patocka <mpatocka@redhat.com>
Signed-off-by: Mike Snitzer <snitzer@redhat.com>
2022-02-21 15:35:39 -05:00
..
accessibility Char/Misc and other driver changes for 5.17-rc1 2022-01-14 16:02:28 +01:00
acpi Merge branch 'akpm' (patches from Andrew) 2022-01-22 11:28:23 +02:00
amba
android Merge 5.16-rc8 into char-misc-next 2022-01-03 13:44:38 +01:00
ata ata: pata_platform: Fix a NULL pointer dereference in __pata_platform_probe() 2022-01-27 11:22:43 +09:00
atm atm: iphase: remove redundant pointer skb 2022-01-13 12:50:48 +00:00
auxdisplay
base block: remove genhd.h 2022-02-02 07:49:59 -07:00
bcma
block virtio_blk: simplify refcounting 2022-02-16 19:44:24 -07:00
bluetooth virtio,vdpa,qemu_fw_cfg: features, cleanups, fixes 2022-01-18 10:05:48 +02:00
bus pci-v5.17-changes 2022-01-16 08:08:11 +02:00
cdrom block: remove genhd.h 2022-02-02 07:49:59 -07:00
char block: remove genhd.h 2022-02-02 07:49:59 -07:00
clk Some hot fixes for clk driver patches merged last week 2022-01-21 09:16:11 +02:00
clocksource - Refactor resource allocation on the Exynos_mct driver without 2022-01-10 13:53:16 +01:00
comedi
connector connector/cn_proc: Use task_is_in_init_pid_ns() 2022-01-26 18:57:09 -08:00
counter counter: fix an IS_ERR() vs NULL bug 2022-01-26 19:40:33 +01:00
cpufreq cpufreq: amd-pstate: Fix Kconfig dependencies for AMD P-State 2022-01-06 18:31:33 +01:00
cpuidle cpuidle: use default_groups in kobj_type 2022-01-05 18:31:17 +01:00
crypto virtio,vdpa,qemu_fw_cfg: features, cleanups, fixes 2022-01-18 10:05:48 +02:00
cxl cxl/core: Remove cxld_const_init in cxl_decoder_alloc() 2022-01-04 17:29:31 -08:00
dax Merge branch 'akpm' (patches from Andrew) 2022-01-15 20:37:06 +02:00
dca
devfreq
dio
dma dmaengine updates for v5.17-rc1 2022-01-18 14:03:34 +02:00
dma-buf drm fixes for 5.17-rc1: 2022-01-16 06:52:38 +02:00
edac - Add support for version 3 of the Synopsys DDR controller to synopsys_edac 2022-01-10 11:45:23 -08:00
eisa
extcon
firewire
firmware efi: runtime: avoid EFIv2 runtime services on Apple x86 machines 2022-01-23 10:31:27 +01:00
fpga
fsi
gnss
gpio gpio: sim: check the label length when setting up device properties 2022-01-24 09:20:02 +01:00
gpu drm fixes for 5.17-rc2 2022-01-28 09:43:00 +02:00
greybus
hid HID: wacom: Avoid using stale array indicies to read contact count 2022-01-21 15:10:02 +01:00
hsi
hv Drivers: hv: balloon: account for vmbus packet header in max_pkt_size 2022-01-23 22:31:23 +00:00
hwmon hwmon: (nct6775) Fix crash in clear_caseopen 2022-01-24 14:32:47 -08:00
hwspinlock
hwtracing
i2c virtio,vdpa,qemu_fw_cfg: features, cleanups, fixes 2022-01-18 10:05:48 +02:00
i3c i3c: master: dw: check return of dw_i3c_master_get_free_pos() 2022-01-13 02:05:50 +01:00
idle
iio bitmap patches for 5.17-rc1 2022-01-23 06:20:44 +02:00
infiniband bitmap patches for 5.17-rc1 2022-01-23 06:20:44 +02:00
input Merge branch 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/dtor/input 2022-01-17 08:27:55 +02:00
interconnect
iommu virtio,vdpa,qemu_fw_cfg: features, cleanups, fixes 2022-01-18 10:05:48 +02:00
ipack
irqchip irqchip fixes for 5.17, take #1 2022-01-29 21:03:20 +01:00
isdn Merge git://git.kernel.org/pub/scm/linux/kernel/git/netdev/net 2021-12-30 12:12:12 -08:00
leds LED updates for 5.17. Nothing major is happening here. 2022-01-12 16:59:22 -08:00
macintosh macintosh/mac_hid.c: simplify subdirectory registration with register_sysctl() 2022-01-22 08:33:35 +02:00
mailbox - qcom: misc updates to qcom-ipcc driver 2022-01-13 11:19:07 -08:00
mcb
md dm stats: fix too short end duration_ns when using precise_timestamps 2022-02-21 15:35:39 -05:00
media bitmap patches for 5.17-rc1 2022-01-23 06:20:44 +02:00
memory MTD core changes: 2022-01-11 11:35:28 -08:00
memstick memstick/mspro_block: simplify refcounting 2022-02-16 19:44:24 -07:00
message scsi: message: fusion: mptctl: Use dma_alloc_coherent() 2022-01-10 10:33:52 -05:00
mfd driver core changes for 5.17-rc1 2022-01-12 11:11:34 -08:00
misc eeprom: at25: Restore missing allocation 2022-01-22 13:32:48 +01:00
mmc bitmap patches for 5.17-rc1 2022-01-23 06:20:44 +02:00
most
mtd block: remove genhd.h 2022-02-02 07:49:59 -07:00
mux
net Networking fixes for 5.17-rc2, including fixes from netfilter and can. 2022-01-27 20:58:39 +02:00
nfc nfc: st21nfca: Fix potential buffer overflows in EVT_TRANSACTION 2022-01-12 14:17:45 +00:00
ntb New AMD PCI ID for NTB, and a number of bug fixes for ntb_hw_switchtec 2022-01-17 08:14:18 +02:00
nubus proc: remove PDE_DATA() completely 2022-01-22 08:33:37 +02:00
nvdimm block: pass a block_device and opf to bio_alloc 2022-02-02 07:49:59 -07:00
nvme block: pass a block_device and opf to bio_init 2022-02-02 07:49:59 -07:00
nvmem
of Devicetree fixes for v5.17, take 1: 2022-01-22 09:52:17 +02:00
opp
parisc Merge branch 'akpm' (patches from Andrew) 2022-01-22 11:28:23 +02:00
parport
pci pci-v5.17-fixes-2 2022-01-29 19:05:47 +02:00
pcmcia pci-v5.17-changes 2022-01-16 08:08:11 +02:00
perf Rework of the MSI interrupt infrastructure: 2022-01-13 09:05:29 -08:00
phy Char/Misc and other driver changes for 5.17-rc1 2022-01-14 16:02:28 +01:00
pinctrl Pin control bulk changes for the v5.17 kernel cycle 2022-01-12 10:56:08 -08:00
platform proc: remove PDE_DATA() completely 2022-01-22 08:33:37 +02:00
pnp proc: remove PDE_DATA() completely 2022-01-22 08:33:37 +02:00
power platform-drivers-x86 for v5.17-1 2022-01-11 11:26:57 -08:00
powercap
pps
ps3
ptp net: fix SOF_TIMESTAMPING_BIND_PHC to work with multiple sockets 2022-01-06 12:18:08 +00:00
pwm pwm: Changes for v5.17-rc1 2022-01-20 13:25:01 +02:00
rapidio
ras
regulator regulator: Add MAX20086-MAX20089 driver 2022-01-07 13:36:35 +00:00
remoteproc remoteproc: qcom: q6v5: fix service routines build errors 2022-01-17 16:44:26 -06:00
reset SoC: Add support for StarFive JH7100 RISC-V SoC 2022-01-10 08:32:37 -08:00
rpmsg rpmsg fixes for v5.17-rc1 2022-01-27 11:23:26 +02:00
rtc rtc: sunplus: fix return value in sp_rtc_probe() 2022-01-16 23:50:34 +01:00
s390 block: remove genhd.h 2022-02-02 07:49:59 -07:00
sbus
scsi scsi: use BLK_STS_OFFLINE for not fully online devices 2022-02-03 21:10:01 -07:00
sh
siox
slimbus
soc bitmap patches for 5.17-rc1 2022-01-23 06:20:44 +02:00
soundwire Char/Misc and other driver changes for 5.17-rc1 2022-01-14 16:02:28 +01:00
spi sound updates for 5.17-rc1 2022-01-14 14:55:38 +01:00
spmi
ssb
staging Merge branch 'signal-for-v5.17' of git://git.kernel.org/pub/scm/linux/kernel/git/ebiederm/user-namespace 2022-01-17 05:49:30 +02:00
target block: pass a block_device and opf to bio_alloc 2022-02-02 07:49:59 -07:00
tc
tee ARM: SoC driver updates for v5.17 2022-01-10 08:13:52 -08:00
thermal thermal: int340x: Add Raptor Lake PCI device id 2022-01-17 19:48:07 +01:00
thunderbolt
tty serial: core: Initialize rs485 RTS polarity already on probe 2022-01-26 14:53:12 +01:00
uio
usb usb: cdnsp: Fix segmentation fault in cdns_lost_power function 2022-01-26 14:11:16 +01:00
vdpa virtio,vdpa,qemu_fw_cfg: features, cleanups, fixes 2022-01-18 10:05:48 +02:00
vfio VFIO updates for v5.17-rc1 2022-01-20 13:31:46 +02:00
vhost vdpa: Protect vdpa reset with cf_mutex 2022-01-14 18:50:54 -05:00
video video: hyperv_fb: Fix validation of screen resolution 2022-01-24 14:01:12 +00:00
virt bitmap patches for 5.17-rc1 2022-01-23 06:20:44 +02:00
virtio vdpa: Allow to configure max data virtqueues 2022-01-14 18:50:53 -05:00
visorbus
vlynq
vme
w1
watchdog linux-watchdog 5.17-rc1 tag 2022-01-17 08:07:57 +02:00
xen arm/xen: Read extended regions from DT and init Xen resource 2022-01-06 09:53:41 +01:00
zorro proc: remove PDE_DATA() completely 2022-01-22 08:33:37 +02:00
Kconfig
Makefile