Spdk/scripts
Michal Berger 4f1701f60f scripts: Add tool for keeping uevents in sync
This script tries to be smart by mainly looking up all the kernel
events caught over the netlink. This is done in order to mitigate the
amount of flakiness test scripts may suffer from while waiting for
given device to pop up. This mainly concerns nvme devices when they
are moved back from user space - the time from when the ctrl is bound
to the driver until the block subsystem finally gets the device can be
substantial (even > 2s). Consider:

  $ setup.sh reset; sleep 10s

  vs

  $ setup.sh reset; sync_dev_uevents.sh block/disk nvme0n1

Where the latter could recover some of the seconds back:

  $ time { ./scripts/setup.sh reset; ./scripts/sync_dev_uevents.sh block/disk nvme0n1 ; }
0000:82:00.0 (8086 0953): uio_pci_generic -> nvme
0000:00:04.0 (8086 0e20): uio_pci_generic -> ioatdma
0000:80:04.0 (8086 0e20): uio_pci_generic -> ioatdma
0000:00:04.1 (8086 0e21): uio_pci_generic -> ioatdma
0000:80:04.1 (8086 0e21): uio_pci_generic -> ioatdma
0000:00:04.2 (8086 0e22): uio_pci_generic -> ioatdma
0000:80:04.2 (8086 0e22): uio_pci_generic -> ioatdma
0000:00:04.3 (8086 0e23): uio_pci_generic -> ioatdma
0000:80:04.3 (8086 0e23): uio_pci_generic -> ioatdma
0000:00:04.4 (8086 0e24): uio_pci_generic -> ioatdma
0000:80:04.4 (8086 0e24): uio_pci_generic -> ioatdma
0000:00:04.5 (8086 0e25): uio_pci_generic -> ioatdma
0000:80:04.5 (8086 0e25): uio_pci_generic -> ioatdma
0000:00:04.6 (8086 0e26): uio_pci_generic -> ioatdma
0000:80:04.6 (8086 0e26): uio_pci_generic -> ioatdma
0000:00:04.7 (8086 0e27): uio_pci_generic -> ioatdma
0000:80:04.7 (8086 0e27): uio_pci_generic -> ioatdma
* Found nvme0n1

real    0m2.427s
user    0m0.465s
sys     0m0.408s

Change-Id: Ib91efc73742fb00b058d4f54976d27390489ddbf
Signed-off-by: Michal Berger <michalx.berger@intel.com>
Reviewed-on: https://review.spdk.io/gerrit/c/spdk/spdk/+/3655
Community-CI: Broadcom CI
Tested-by: SPDK CI Jenkins <sys_sgci@intel.com>
Reviewed-by: Jim Harris <james.r.harris@intel.com>
Reviewed-by: Tomasz Zawadzki <tomasz.zawadzki@intel.com>
2020-09-07 09:27:42 +00:00
..
bash-completion scripts/pkgdep: Add bash-completion for SPDK apps and tools 2020-08-24 07:37:21 +00:00
ceph check_format: Reformat the Bash code in compliance with shfmt 2020-05-07 20:52:21 +00:00
perf perf/nvmf: remove pylin no-member error 2020-08-28 07:30:36 +00:00
pkgdep scripts/pkgdep: [rhel] Add warning about working under RHEL system 2020-09-01 07:50:41 +00:00
rpc script/rpc: fix bdev_set_qos_limit's usage error 2020-09-01 07:51:38 +00:00
spdkcli lib/iscsi: Create portal group as public or private portal group 2020-08-11 08:27:43 +00:00
vagrant script/vagrant: vagrantfile refactoring 2020-08-27 08:34:43 +00:00
check_format.sh scripts/check_format.sh: fix naming convention check. 2020-07-08 07:56:06 +00:00
common.sh scripts/common: Don't cache pci vendor,device ids separately 2020-09-02 14:43:02 +00:00
config_converter.py global: rename copy to accel 2020-02-18 08:05:34 +00:00
detect_cc.sh check_format: Reformat the Bash code in compliance with shfmt 2020-05-07 20:52:21 +00:00
dpdk_mem_info.py scripts: add a parser for the dpdk memory stats. 2020-01-24 05:46:43 +00:00
eofnl scripts/check_format: check trailing whitespace 2017-10-24 17:35:23 -04:00
fio.py scripts/fio.py: add argparse for command line parameters 2019-06-03 04:34:10 +00:00
gdb_macros.py scripts: Use range instead of xrange 2019-02-13 22:54:15 +00:00
gen_ftl.sh check_format: Reformat the Bash code in compliance with shfmt 2020-05-07 20:52:21 +00:00
gen_nvme.sh Script: update the JSON content generation 2020-08-24 07:37:53 +00:00
genconfig.py genconfig.py: allow numbers in config option names 2020-02-20 14:40:19 +00:00
histogram.py histograms: add script for parsing histogram data 2019-01-24 14:14:32 +00:00
iostat.py script: add iostat.py to check bdev iostat 2020-01-22 13:51:41 +00:00
pkgdep.sh scripts/pkgdep: Move distro independent parts to a common place 2020-08-10 11:28:20 +00:00
posix.txt build: Automatically detect use of POSIX includes 2017-05-08 13:20:37 -07:00
prep_benchmarks.sh check_format: Reformat the Bash code in compliance with shfmt 2020-05-07 20:52:21 +00:00
qat_setup.sh check_format: Reformat the Bash code in compliance with shfmt 2020-05-07 20:52:21 +00:00
rpc_http_proxy.py scripts: Add SSL certificate option in rpc_http_proxy 2020-05-05 08:04:00 +00:00
rpc.py script/rpc: fix bdev_set_qos_limit's usage error 2020-09-01 07:51:38 +00:00
rxe_cfg_small.sh rxe_cfg_small: Align the way how devices are added|removed 2020-08-27 08:36:17 +00:00
setup.sh scripts/setup: Reorder the status's header 2020-09-07 09:27:42 +00:00
spdkcli.py scripts/spdkcli: Stay on command input. 2020-07-08 07:55:15 +00:00
sync_dev_uevents.sh scripts: Add tool for keeping uevents in sync 2020-09-07 09:27:42 +00:00