linux-block.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
* [PATCH blktests 0/5] nvmeof-mp/srp/nvme-rdma misc fix and enhancement
@ 2020-11-24  1:04 Yi Zhang
  2020-11-24  1:04 ` [PATCH blktests 1/5] tests/srp/rc: update the ib_srpt module name Yi Zhang
                   ` (4 more replies)
  0 siblings, 5 replies; 18+ messages in thread
From: Yi Zhang @ 2020-11-24  1:04 UTC (permalink / raw)
  To: osandov, bvanassche; +Cc: linux-block, linux-nvme, sagi

Hi

This patch series addressed some failures when I run nvmeof-mp/srp
test and also add suport to use siw for nvme-rdma/nvmeof-mp testing
from cmdline, like this:

$ use_siw=1 nvme-trtype=rdma ./check nvme/
$ use_siw=1 ./check nvmeof-mp/

Thanks
Yi

Yi Zhang (5):
  tests/srp/rc: update the ib_srpt module name
  tests/nvmeof-mp/rc: run nvmeof-mp tests if we set multipath=N
  tests/nvmeof-mp/012: fix the schedulers list
  common/rc: _have_iproute2 fix for "ip -V" change
  common/multipath-over-rdma: allow to set use_siw

 common/multipath-over-rdma |  2 +-
 common/rc                  |  2 +-
 tests/nvmeof-mp/012        | 10 ++++++----
 tests/nvmeof-mp/rc         |  2 +-
 tests/srp/rc               |  4 ++--
 5 files changed, 11 insertions(+), 9 deletions(-)

-- 
2.21.0


^ permalink raw reply	[flat|nested] 18+ messages in thread

* [PATCH blktests 1/5] tests/srp/rc: update the ib_srpt module name
  2020-11-24  1:04 [PATCH blktests 0/5] nvmeof-mp/srp/nvme-rdma misc fix and enhancement Yi Zhang
@ 2020-11-24  1:04 ` Yi Zhang
  2020-11-24  3:23   ` Bart Van Assche
  2020-11-24  1:04 ` [PATCH blktests 2/5] tests/nvmeof-mp/rc: run nvmeof-mp tests if we set multipath=N Yi Zhang
                   ` (3 subsequent siblings)
  4 siblings, 1 reply; 18+ messages in thread
From: Yi Zhang @ 2020-11-24  1:04 UTC (permalink / raw)
  To: osandov, bvanassche; +Cc: linux-block, linux-nvme, sagi

Fix the ib_srpt module insmod failure as the module in some distros are
end with .xz, like bellow on fedora:
/lib/modules/$(uname -r)/kernel/drivers/infiniband/ulp/srpt/ib_srpt.ko.xz

Signed-off-by: Yi Zhang <yi.zhang@redhat.com>
---
 tests/srp/rc | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)

diff --git a/tests/srp/rc b/tests/srp/rc
index 7fc094b..74053ba 100755
--- a/tests/srp/rc
+++ b/tests/srp/rc
@@ -465,7 +465,7 @@ configure_target_ports() {
 
 # Load LIO and configure the SRP target driver and LUNs.
 start_lio_srpt() {
-	local b d gid i ini_ids=() opts p target_ids=() vdev
+	local b d gid i ini_ids=() opts p target_ids=()
 
 	for gid in $(all_primary_gids); do
 		if [ "${gid#fe8}" != "$gid" ]; then
@@ -500,7 +500,7 @@ start_lio_srpt() {
 	if modinfo ib_srpt | grep -q '^parm:[[:blank:]]*rdma_cm_port:'; then
 		opts+=("rdma_cm_port=${srp_rdma_cm_port}")
 	fi
-	insmod "/lib/modules/$(uname -r)/kernel/drivers/infiniband/ulp/srpt/ib_srpt.ko" "${opts[@]}" || return $?
+	insmod "$(ls /lib/modules/"$(uname -r)"/kernel/drivers/infiniband/ulp/srpt/ib_srpt.*)" "${opts[@]}" || return $?
 	i=0
 	for r in "${vdev_path[@]}"; do
 		if [ -b "$(readlink -f "$r")" ]; then
-- 
2.21.0


^ permalink raw reply related	[flat|nested] 18+ messages in thread

* [PATCH blktests 2/5] tests/nvmeof-mp/rc: run nvmeof-mp tests if we set multipath=N
  2020-11-24  1:04 [PATCH blktests 0/5] nvmeof-mp/srp/nvme-rdma misc fix and enhancement Yi Zhang
  2020-11-24  1:04 ` [PATCH blktests 1/5] tests/srp/rc: update the ib_srpt module name Yi Zhang
@ 2020-11-24  1:04 ` Yi Zhang
  2020-11-24  3:26   ` Bart Van Assche
  2020-11-24  1:04 ` [PATCH blktests 3/5] tests/nvmeof-mp/012: fix the schedulers list Yi Zhang
                   ` (2 subsequent siblings)
  4 siblings, 1 reply; 18+ messages in thread
From: Yi Zhang @ 2020-11-24  1:04 UTC (permalink / raw)
  To: osandov, bvanassche; +Cc: linux-block, linux-nvme, sagi

To enable it, just do bellow step before we run it:
$ echo "options nvme_core multipath=N" >/etc/modprobe.d/nvme.conf

Signed-off-by: Yi Zhang <yi.zhang@redhat.com>
---
 tests/nvmeof-mp/rc | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/tests/nvmeof-mp/rc b/tests/nvmeof-mp/rc
index d7a7c87..bc78f14 100755
--- a/tests/nvmeof-mp/rc
+++ b/tests/nvmeof-mp/rc
@@ -17,7 +17,7 @@ group_requires() {
 	# Since the nvmeof-mp tests are based on the dm-mpath driver, these
 	# tests are incompatible with the NVME_MULTIPATH kernel configuration
 	# option.
-	if _have_kernel_option NVME_MULTIPATH; then
+	if _have_kernel_option NVME_MULTIPATH && _have_module_param_value nvme_core multipath Y; then
 		SKIP_REASON="CONFIG_NVME_MULTIPATH has been set in .config"
 		return
 	fi
-- 
2.21.0


^ permalink raw reply related	[flat|nested] 18+ messages in thread

* [PATCH blktests 3/5] tests/nvmeof-mp/012: fix the schedulers list
  2020-11-24  1:04 [PATCH blktests 0/5] nvmeof-mp/srp/nvme-rdma misc fix and enhancement Yi Zhang
  2020-11-24  1:04 ` [PATCH blktests 1/5] tests/srp/rc: update the ib_srpt module name Yi Zhang
  2020-11-24  1:04 ` [PATCH blktests 2/5] tests/nvmeof-mp/rc: run nvmeof-mp tests if we set multipath=N Yi Zhang
@ 2020-11-24  1:04 ` Yi Zhang
  2020-11-24  3:28   ` Bart Van Assche
  2020-11-24  1:04 ` [PATCH blktests 4/5] common/rc: _have_iproute2 fix for "ip -V" change Yi Zhang
  2020-11-24  1:04 ` [PATCH blktests 5/5] common/multipath-over-rdma: allow to set use_siw Yi Zhang
  4 siblings, 1 reply; 18+ messages in thread
From: Yi Zhang @ 2020-11-24  1:04 UTC (permalink / raw)
  To: osandov, bvanassche; +Cc: linux-block, linux-nvme, sagi

There is no cfg scheduler and new added kyber scheduler in lastest kernel,
so get the scheduler from sysfs

To reproduce it:
$ ./check nvmeof-mp/012
nvmeof-mp/012 (dm-mpath on top of multiple I/O schedulers)   [passed]
    runtime  5.922s  ...  8.804s

$ cat results/nodev/nvmeof-mp/012.full  | grep -n "Changing scheduler"
31:Changing scheduler of dm-3 from mq-deadline kyber [bfq] none into cfq failed
47:Changing scheduler of dm-3 from mq-deadline kyber [bfq] none into cfq failed

Signed-off-by: Yi Zhang <yi.zhang@redhat.com>
---
 tests/nvmeof-mp/012 | 10 ++++++----
 1 file changed, 6 insertions(+), 4 deletions(-)

diff --git a/tests/nvmeof-mp/012 b/tests/nvmeof-mp/012
index ae6a92c..96adc70 100755
--- a/tests/nvmeof-mp/012
+++ b/tests/nvmeof-mp/012
@@ -8,7 +8,7 @@ DESCRIPTION="dm-mpath on top of multiple I/O schedulers"
 QUICK=1
 
 test_io_schedulers() {
-	local dev m
+	local dev m dm scheds
 
 	# Load all I/O scheduler kernel modules
 	for m in "/lib/modules/$(uname -r)/kernel/block/"*.ko; do
@@ -17,15 +17,17 @@ test_io_schedulers() {
 	for mq in y n; do
 		use_blk_mq ${mq} || return $?
 		dev=$(get_bdev 0) || return $?
-		for sched in noop deadline bfq cfq; do
-			set_scheduler "$(basename "$(readlink -f "${dev}")")" $sched \
+		dm=$(basename "$(readlink -f "${dev}")") || return $?
+		scheds=$(sed 's/[][]//g' /sys/block/"$dm"/queue/scheduler) || return $?
+		for sched in $scheds; do
+			set_scheduler "$dm" "$sched" \
 				      >>"$FULL" 2>&1 || continue
 			echo "I/O scheduler: $sched; use_blk_mq: $mq" >>"$FULL"
 			run_fio --verify=md5 --rw=randwrite --bs=4K --size=64K \
 				--ioengine=libaio --iodepth=64 \
 				--iodepth_batch=32 --group_reporting --sync=1 \
 				--direct=1 --filename="$dev" \
-				--name=${sched} --thread --numjobs=1 \
+				--name="${sched}" --thread --numjobs=1 \
 				--output="${RESULTS_DIR}/nvmeof-mp/012-${sched}-${mq}.txt" \
 				>>"$FULL" ||
 				return $?
-- 
2.21.0


^ permalink raw reply related	[flat|nested] 18+ messages in thread

* [PATCH blktests 4/5] common/rc: _have_iproute2 fix for "ip -V" change
  2020-11-24  1:04 [PATCH blktests 0/5] nvmeof-mp/srp/nvme-rdma misc fix and enhancement Yi Zhang
                   ` (2 preceding siblings ...)
  2020-11-24  1:04 ` [PATCH blktests 3/5] tests/nvmeof-mp/012: fix the schedulers list Yi Zhang
@ 2020-11-24  1:04 ` Yi Zhang
  2020-11-24  3:29   ` Bart Van Assche
  2020-11-24  1:04 ` [PATCH blktests 5/5] common/multipath-over-rdma: allow to set use_siw Yi Zhang
  4 siblings, 1 reply; 18+ messages in thread
From: Yi Zhang @ 2020-11-24  1:04 UTC (permalink / raw)
  To: osandov, bvanassche; +Cc: linux-block, linux-nvme, sagi

With bellow commit, the version will be updated base on the tag
fbef6555 replace SNAPSHOT with auto-generated version string

To reproduce it:
$ ./check srp/015
common/rc: line 98: [: ip utility, iproute2-5.9.0: integer expression expected

Signed-off-by: Yi Zhang <yi.zhang@redhat.com>
---
 common/rc | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/common/rc b/common/rc
index 0d7a3cd..37eb873 100644
--- a/common/rc
+++ b/common/rc
@@ -95,7 +95,7 @@ _have_iproute2() {
 		SKIP_REASON="ip utility not found"
 		return 1
 	fi
-	if [ "$snapshot" -lt "$1" ]; then
+	if [[ "$snapshot" =~ ^[0-9]+$ && "$snapshot" -lt "$1" ]]; then
 		SKIP_REASON="ip utility too old"
 		return 1
 	fi
-- 
2.21.0


^ permalink raw reply related	[flat|nested] 18+ messages in thread

* [PATCH blktests 5/5] common/multipath-over-rdma: allow to set use_siw
  2020-11-24  1:04 [PATCH blktests 0/5] nvmeof-mp/srp/nvme-rdma misc fix and enhancement Yi Zhang
                   ` (3 preceding siblings ...)
  2020-11-24  1:04 ` [PATCH blktests 4/5] common/rc: _have_iproute2 fix for "ip -V" change Yi Zhang
@ 2020-11-24  1:04 ` Yi Zhang
  4 siblings, 0 replies; 18+ messages in thread
From: Yi Zhang @ 2020-11-24  1:04 UTC (permalink / raw)
  To: osandov, bvanassche; +Cc: linux-block, linux-nvme, sagi

With this change, we can change to use siw for nvme-rdma/nvmeof-mp 
testing from cmdline:

$ use_siw=1 nvme-trtype=rdma ./check nvme/
$ use_siw=1 ./check nvmeof-mp/

Signed-off-by: Yi Zhang <yi.zhang@redhat.com>
---
 common/multipath-over-rdma | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/common/multipath-over-rdma b/common/multipath-over-rdma
index ebc5939..d0fec6f 100644
--- a/common/multipath-over-rdma
+++ b/common/multipath-over-rdma
@@ -12,7 +12,7 @@ filesystem_type=ext4
 fio_aux_path=/tmp/fio-state-files
 memtotal=$(sed -n 's/^MemTotal:[[:blank:]]*\([0-9]*\)[[:blank:]]*kB$/\1/p' /proc/meminfo)
 max_ramdisk_size=$((1<<25))
-use_siw=
+use_siw=${use_siw:-""}
 ramdisk_size=$((memtotal*(1024/16)))  # in bytes
 if [ $ramdisk_size -gt $max_ramdisk_size ]; then
 	ramdisk_size=$max_ramdisk_size
-- 
2.21.0


^ permalink raw reply related	[flat|nested] 18+ messages in thread

* Re: [PATCH blktests 1/5] tests/srp/rc: update the ib_srpt module name
  2020-11-24  1:04 ` [PATCH blktests 1/5] tests/srp/rc: update the ib_srpt module name Yi Zhang
@ 2020-11-24  3:23   ` Bart Van Assche
  2020-11-24 14:01     ` Yi Zhang
  0 siblings, 1 reply; 18+ messages in thread
From: Bart Van Assche @ 2020-11-24  3:23 UTC (permalink / raw)
  To: Yi Zhang, osandov; +Cc: linux-block, linux-nvme, sagi

On 11/23/20 5:04 PM, Yi Zhang wrote:
> -	insmod "/lib/modules/$(uname -r)/kernel/drivers/infiniband/ulp/srpt/ib_srpt.ko" "${opts[@]}" || return $?
> +	insmod "$(ls /lib/modules/"$(uname -r)"/kernel/drivers/infiniband/ulp/srpt/ib_srpt.*)" "${opts[@]}" || return $?

Is 'ls' needed here or is 'echo' sufficient?

Thanks,

Bart.

^ permalink raw reply	[flat|nested] 18+ messages in thread

* Re: [PATCH blktests 2/5] tests/nvmeof-mp/rc: run nvmeof-mp tests if we set multipath=N
  2020-11-24  1:04 ` [PATCH blktests 2/5] tests/nvmeof-mp/rc: run nvmeof-mp tests if we set multipath=N Yi Zhang
@ 2020-11-24  3:26   ` Bart Van Assche
  2020-11-24 14:04     ` Yi Zhang
  0 siblings, 1 reply; 18+ messages in thread
From: Bart Van Assche @ 2020-11-24  3:26 UTC (permalink / raw)
  To: Yi Zhang, osandov; +Cc: linux-block, linux-nvme, sagi

On 11/23/20 5:04 PM, Yi Zhang wrote:
> To enable it, just do bellow step before we run it:
> $ echo "options nvme_core multipath=N" >/etc/modprobe.d/nvme.conf
> 
> Signed-off-by: Yi Zhang <yi.zhang@redhat.com>
> ---
>  tests/nvmeof-mp/rc | 2 +-
>  1 file changed, 1 insertion(+), 1 deletion(-)
> 
> diff --git a/tests/nvmeof-mp/rc b/tests/nvmeof-mp/rc
> index d7a7c87..bc78f14 100755
> --- a/tests/nvmeof-mp/rc
> +++ b/tests/nvmeof-mp/rc
> @@ -17,7 +17,7 @@ group_requires() {
>  	# Since the nvmeof-mp tests are based on the dm-mpath driver, these
>  	# tests are incompatible with the NVME_MULTIPATH kernel configuration
>  	# option.
> -	if _have_kernel_option NVME_MULTIPATH; then
> +	if _have_kernel_option NVME_MULTIPATH && _have_module_param_value nvme_core multipath Y; then
>  		SKIP_REASON="CONFIG_NVME_MULTIPATH has been set in .config"
>  		return
>  	fi

Please set different SKIP_REASON string for each case such that it
remains easy for a blktests user to figure out why these tests have been
skipped.

Thanks,

Bart.

^ permalink raw reply	[flat|nested] 18+ messages in thread

* Re: [PATCH blktests 3/5] tests/nvmeof-mp/012: fix the schedulers list
  2020-11-24  1:04 ` [PATCH blktests 3/5] tests/nvmeof-mp/012: fix the schedulers list Yi Zhang
@ 2020-11-24  3:28   ` Bart Van Assche
  2020-11-24 14:06     ` Yi Zhang
  0 siblings, 1 reply; 18+ messages in thread
From: Bart Van Assche @ 2020-11-24  3:28 UTC (permalink / raw)
  To: Yi Zhang, osandov; +Cc: linux-block, linux-nvme, sagi

On 11/23/20 5:04 PM, Yi Zhang wrote:
> There is no cfg scheduler and new added kyber scheduler in lastest kernel,
              ^^^
              cfq?
> so get the scheduler from sysfs

[ ... ]

>  	# Load all I/O scheduler kernel modules
>  	for m in "/lib/modules/$(uname -r)/kernel/block/"*.ko; do
> @@ -17,15 +17,17 @@ test_io_schedulers() {
>  	for mq in y n; do
>  		use_blk_mq ${mq} || return $?
>  		dev=$(get_bdev 0) || return $?
> -		for sched in noop deadline bfq cfq; do
> -			set_scheduler "$(basename "$(readlink -f "${dev}")")" $sched \
> +		dm=$(basename "$(readlink -f "${dev}")") || return $?
> +		scheds=$(sed 's/[][]//g' /sys/block/"$dm"/queue/scheduler) || return $?
> +		for sched in $scheds; do
> +			set_scheduler "$dm" "$sched" \

Similar code occurs in tests/srp/012. Please introduce a function for
retrieving the scheduler list and also update tests/srp/012.

Thanks,

Bart.

^ permalink raw reply	[flat|nested] 18+ messages in thread

* Re: [PATCH blktests 4/5] common/rc: _have_iproute2 fix for "ip -V" change
  2020-11-24  1:04 ` [PATCH blktests 4/5] common/rc: _have_iproute2 fix for "ip -V" change Yi Zhang
@ 2020-11-24  3:29   ` Bart Van Assche
  2020-11-24 14:07     ` Yi Zhang
  0 siblings, 1 reply; 18+ messages in thread
From: Bart Van Assche @ 2020-11-24  3:29 UTC (permalink / raw)
  To: Yi Zhang, osandov; +Cc: linux-block, linux-nvme, sagi

On 11/23/20 5:04 PM, Yi Zhang wrote:
> With bellow commit, the version will be updated base on the tag
       ^^^^^^
       below?
> fbef6555 replace SNAPSHOT with auto-generated version string

Thanks,

Bart.

^ permalink raw reply	[flat|nested] 18+ messages in thread

* Re: [PATCH blktests 1/5] tests/srp/rc: update the ib_srpt module name
  2020-11-24  3:23   ` Bart Van Assche
@ 2020-11-24 14:01     ` Yi Zhang
  2020-11-25  3:47       ` Bart Van Assche
  0 siblings, 1 reply; 18+ messages in thread
From: Yi Zhang @ 2020-11-24 14:01 UTC (permalink / raw)
  To: Bart Van Assche, osandov; +Cc: linux-block, sagi, linux-nvme



On 11/24/20 11:23 AM, Bart Van Assche wrote:
> On 11/23/20 5:04 PM, Yi Zhang wrote:
>> -	insmod "/lib/modules/$(uname -r)/kernel/drivers/infiniband/ulp/srpt/ib_srpt.ko" "${opts[@]}" || return $?
>> +	insmod "$(ls /lib/modules/"$(uname -r)"/kernel/drivers/infiniband/ulp/srpt/ib_srpt.*)" "${opts[@]}" || return $?
> Is 'ls' needed here or is 'echo' sufficient?
Actually it doesn't work without ls
$ insmod "/lib/modules/"$(uname 
-r)"/kernel/drivers/infiniband/ulp/srpt/ib_srpt.*"
insmod: ERROR: could not load module 
/lib/modules/5.10.0-rc5/kernel/drivers/infiniband/ulp/srpt/ib_srpt.*: No 
such file or directory

and it works with echo, I can change to echo if you prefer
$ insmod "$(echo /lib/modules/"$(uname 
-r)"/kernel/drivers/infiniband/ulp/srpt/ib_srpt.*)" "${opts[@]}" || 
return $?

> Thanks,
>
> Bart.
>
> _______________________________________________
> Linux-nvme mailing list
> Linux-nvme@lists.infradead.org
> http://lists.infradead.org/mailman/listinfo/linux-nvme
>


^ permalink raw reply	[flat|nested] 18+ messages in thread

* Re: [PATCH blktests 2/5] tests/nvmeof-mp/rc: run nvmeof-mp tests if we set multipath=N
  2020-11-24  3:26   ` Bart Van Assche
@ 2020-11-24 14:04     ` Yi Zhang
  2020-11-25  3:51       ` Bart Van Assche
  0 siblings, 1 reply; 18+ messages in thread
From: Yi Zhang @ 2020-11-24 14:04 UTC (permalink / raw)
  To: Bart Van Assche, osandov; +Cc: linux-block, sagi, linux-nvme



On 11/24/20 11:26 AM, Bart Van Assche wrote:
> On 11/23/20 5:04 PM, Yi Zhang wrote:
>> To enable it, just do bellow step before we run it:
>> $ echo "options nvme_core multipath=N" >/etc/modprobe.d/nvme.conf
>>
>> Signed-off-by: Yi Zhang <yi.zhang@redhat.com>
>> ---
>>   tests/nvmeof-mp/rc | 2 +-
>>   1 file changed, 1 insertion(+), 1 deletion(-)
>>
>> diff --git a/tests/nvmeof-mp/rc b/tests/nvmeof-mp/rc
>> index d7a7c87..bc78f14 100755
>> --- a/tests/nvmeof-mp/rc
>> +++ b/tests/nvmeof-mp/rc
>> @@ -17,7 +17,7 @@ group_requires() {
>>   	# Since the nvmeof-mp tests are based on the dm-mpath driver, these
>>   	# tests are incompatible with the NVME_MULTIPATH kernel configuration
>>   	# option.
>> -	if _have_kernel_option NVME_MULTIPATH; then
>> +	if _have_kernel_option NVME_MULTIPATH && _have_module_param_value nvme_core multipath Y; then
>>   		SKIP_REASON="CONFIG_NVME_MULTIPATH has been set in .config"
>>   		return
>>   	fi
> Please set different SKIP_REASON string for each case such that it
> remains easy for a blktests user to figure out why these tests have been
> skipped.
Do you mean something like this, could you add more detail here, thanks.

diff --git a/tests/nvmeof-mp/rc b/tests/nvmeof-mp/rc
index d7a7c87..af700d9 100755
--- a/tests/nvmeof-mp/rc
+++ b/tests/nvmeof-mp/rc
@@ -16,9 +16,9 @@ group_requires() {

         # Since the nvmeof-mp tests are based on the dm-mpath driver, these
         # tests are incompatible with the NVME_MULTIPATH kernel 
configuration
-       # option.
-       if _have_kernel_option NVME_MULTIPATH; then
-               SKIP_REASON="CONFIG_NVME_MULTIPATH has been set in .config"
+       # option and nvme_core: multipath set with Y.
+       if _have_kernel_option NVME_MULTIPATH && 
_have_module_param_value nvme_core multipath Y; then
+               SKIP_REASON="CONFIG_NVME_MULTIPATH has been set in 
.config and nvme_core: multipath should be set with N"
                 return
         fi


> Thanks,
>
> Bart.
>
> _______________________________________________
> Linux-nvme mailing list
> Linux-nvme@lists.infradead.org
> http://lists.infradead.org/mailman/listinfo/linux-nvme
>


^ permalink raw reply related	[flat|nested] 18+ messages in thread

* Re: [PATCH blktests 3/5] tests/nvmeof-mp/012: fix the schedulers list
  2020-11-24  3:28   ` Bart Van Assche
@ 2020-11-24 14:06     ` Yi Zhang
  0 siblings, 0 replies; 18+ messages in thread
From: Yi Zhang @ 2020-11-24 14:06 UTC (permalink / raw)
  To: Bart Van Assche, osandov; +Cc: linux-block, sagi, linux-nvme



On 11/24/20 11:28 AM, Bart Van Assche wrote:
> On 11/23/20 5:04 PM, Yi Zhang wrote:
>> There is no cfg scheduler and new added kyber scheduler in lastest kernel,
>                ^^^
>                cfq?
Thanks.
>> so get the scheduler from sysfs
> [ ... ]
>
>>   	# Load all I/O scheduler kernel modules
>>   	for m in "/lib/modules/$(uname -r)/kernel/block/"*.ko; do
>> @@ -17,15 +17,17 @@ test_io_schedulers() {
>>   	for mq in y n; do
>>   		use_blk_mq ${mq} || return $?
>>   		dev=$(get_bdev 0) || return $?
>> -		for sched in noop deadline bfq cfq; do
>> -			set_scheduler "$(basename "$(readlink -f "${dev}")")" $sched \
>> +		dm=$(basename "$(readlink -f "${dev}")") || return $?
>> +		scheds=$(sed 's/[][]//g' /sys/block/"$dm"/queue/scheduler) || return $?
>> +		for sched in $scheds; do
>> +			set_scheduler "$dm" "$sched" \
> Similar code occurs in tests/srp/012. Please introduce a function for
> retrieving the scheduler list and also update tests/srp/012.
OK, will add below function and update both nvmeof-mp/012 and srp/012

diff --git a/common/multipath-over-rdma b/common/multipath-over-rdma
index d0fec6f..d156a12 100644
--- a/common/multipath-over-rdma
+++ b/common/multipath-over-rdma
@@ -326,6 +326,18 @@ set_scheduler() {
         fi
  }

+# Get block dev scheduler list
+get_scheduler_list() {
+       local b=$1 p
+       p=/sys/block/"$b"/queue/scheduler
+       if [ -e "$p" ]; then
+               scheds=$(sed 's/[][]//g' /sys/block/"$b"/queue/scheduler)
+               echo "$scheds"
+       else
+               return 1
+       fi
+}
+

> Thanks,
>
> Bart.
>
> _______________________________________________
> Linux-nvme mailing list
> Linux-nvme@lists.infradead.org
> http://lists.infradead.org/mailman/listinfo/linux-nvme
>


^ permalink raw reply related	[flat|nested] 18+ messages in thread

* Re: [PATCH blktests 4/5] common/rc: _have_iproute2 fix for "ip -V" change
  2020-11-24  3:29   ` Bart Van Assche
@ 2020-11-24 14:07     ` Yi Zhang
  0 siblings, 0 replies; 18+ messages in thread
From: Yi Zhang @ 2020-11-24 14:07 UTC (permalink / raw)
  To: Bart Van Assche, osandov; +Cc: linux-block, sagi, linux-nvme



On 11/24/20 11:29 AM, Bart Van Assche wrote:
> On 11/23/20 5:04 PM, Yi Zhang wrote:
>> With bellow commit, the version will be updated base on the tag
>         ^^^^^^
>         below?
Thanks, will update it in the v2

>> fbef6555 replace SNAPSHOT with auto-generated version string
> Thanks,
>
> Bart.
>
> _______________________________________________
> Linux-nvme mailing list
> Linux-nvme@lists.infradead.org
> http://lists.infradead.org/mailman/listinfo/linux-nvme
>


^ permalink raw reply	[flat|nested] 18+ messages in thread

* Re: [PATCH blktests 1/5] tests/srp/rc: update the ib_srpt module name
  2020-11-24 14:01     ` Yi Zhang
@ 2020-11-25  3:47       ` Bart Van Assche
  2020-11-25  7:36         ` Yi Zhang
  0 siblings, 1 reply; 18+ messages in thread
From: Bart Van Assche @ 2020-11-25  3:47 UTC (permalink / raw)
  To: Yi Zhang, osandov; +Cc: linux-block, sagi, linux-nvme

On 11/24/20 6:01 AM, Yi Zhang wrote:
> On 11/24/20 11:23 AM, Bart Van Assche wrote:
>> On 11/23/20 5:04 PM, Yi Zhang wrote:
>>> -    insmod "/lib/modules/$(uname
>>> -r)/kernel/drivers/infiniband/ulp/srpt/ib_srpt.ko" "${opts[@]}" ||
>>> return $?
>>> +    insmod "$(ls /lib/modules/"$(uname
>>> -r)"/kernel/drivers/infiniband/ulp/srpt/ib_srpt.*)" "${opts[@]}" ||
>>> return $?
>> Is 'ls' needed here or is 'echo' sufficient?
> Actually it doesn't work without ls
> $ insmod "/lib/modules/"$(uname
> -r)"/kernel/drivers/infiniband/ulp/srpt/ib_srpt.*"
> insmod: ERROR: could not load module
> /lib/modules/5.10.0-rc5/kernel/drivers/infiniband/ulp/srpt/ib_srpt.*: No
> such file or directory
> 
> and it works with echo, I can change to echo if you prefer
> $ insmod "$(echo /lib/modules/"$(uname
> -r)"/kernel/drivers/infiniband/ulp/srpt/ib_srpt.*)" "${opts[@]}" ||
> return $?

'echo' is a shell built-in while ls is not built-in into bash, so echo
is faster.

How about insmod "/lib/modules/$(uname
-r)/kernel/drivers/infiniband/ulp/srpt/ib_srpt."* (no echo, no ls,
asterisk outside double quotes)?

Thanks,

Bart.


^ permalink raw reply	[flat|nested] 18+ messages in thread

* Re: [PATCH blktests 2/5] tests/nvmeof-mp/rc: run nvmeof-mp tests if we set multipath=N
  2020-11-24 14:04     ` Yi Zhang
@ 2020-11-25  3:51       ` Bart Van Assche
  2020-11-25  7:36         ` Yi Zhang
  0 siblings, 1 reply; 18+ messages in thread
From: Bart Van Assche @ 2020-11-25  3:51 UTC (permalink / raw)
  To: Yi Zhang, osandov; +Cc: linux-block, sagi, linux-nvme

On 11/24/20 6:04 AM, Yi Zhang wrote:
> Do you mean something like this, could you add more detail here, thanks.
> 
> diff --git a/tests/nvmeof-mp/rc b/tests/nvmeof-mp/rc
> index d7a7c87..af700d9 100755
> --- a/tests/nvmeof-mp/rc
> +++ b/tests/nvmeof-mp/rc
> @@ -16,9 +16,9 @@ group_requires() {
> 
>         # Since the nvmeof-mp tests are based on the dm-mpath driver, these
>         # tests are incompatible with the NVME_MULTIPATH kernel
> configuration
> -       # option.
> -       if _have_kernel_option NVME_MULTIPATH; then
> -               SKIP_REASON="CONFIG_NVME_MULTIPATH has been set in .config"
> +       # option and nvme_core: multipath set with Y.
> +       if _have_kernel_option NVME_MULTIPATH &&
> _have_module_param_value nvme_core multipath Y; then
> +               SKIP_REASON="CONFIG_NVME_MULTIPATH has been set in
> .config and nvme_core: multipath should be set with N"
>                 return
>         fi

I may have sent you in the wrong direction. This is what I meant:

	if _have_kernel_option NVME_MULTIPATH &&
	    _have_module_param_value nvme_core multipath Y; then
	    SKIP_REASON="CONFIG_NVME_MULTIPATH has been set in .config and
multipathing has been enabled in the nvme_core kernel module"
	    return
	fi

Thanks,

Bart.

^ permalink raw reply	[flat|nested] 18+ messages in thread

* Re: [PATCH blktests 1/5] tests/srp/rc: update the ib_srpt module name
  2020-11-25  3:47       ` Bart Van Assche
@ 2020-11-25  7:36         ` Yi Zhang
  0 siblings, 0 replies; 18+ messages in thread
From: Yi Zhang @ 2020-11-25  7:36 UTC (permalink / raw)
  To: Bart Van Assche, osandov; +Cc: linux-block, sagi, linux-nvme



On 11/25/20 11:47 AM, Bart Van Assche wrote:
> On 11/24/20 6:01 AM, Yi Zhang wrote:
>> On 11/24/20 11:23 AM, Bart Van Assche wrote:
>>> On 11/23/20 5:04 PM, Yi Zhang wrote:
>>>> -    insmod "/lib/modules/$(uname
>>>> -r)/kernel/drivers/infiniband/ulp/srpt/ib_srpt.ko" "${opts[@]}" ||
>>>> return $?
>>>> +    insmod "$(ls /lib/modules/"$(uname
>>>> -r)"/kernel/drivers/infiniband/ulp/srpt/ib_srpt.*)" "${opts[@]}" ||
>>>> return $?
>>> Is 'ls' needed here or is 'echo' sufficient?
>> Actually it doesn't work without ls
>> $ insmod "/lib/modules/"$(uname
>> -r)"/kernel/drivers/infiniband/ulp/srpt/ib_srpt.*"
>> insmod: ERROR: could not load module
>> /lib/modules/5.10.0-rc5/kernel/drivers/infiniband/ulp/srpt/ib_srpt.*: No
>> such file or directory
>>
>> and it works with echo, I can change to echo if you prefer
>> $ insmod "$(echo /lib/modules/"$(uname
>> -r)"/kernel/drivers/infiniband/ulp/srpt/ib_srpt.*)" "${opts[@]}" ||
>> return $?
> 'echo' is a shell built-in while ls is not built-in into bash, so echo
> is faster.
yeah, thanks for the info.
> How about insmod "/lib/modules/$(uname
> -r)/kernel/drivers/infiniband/ulp/srpt/ib_srpt."* (no echo, no ls,
> asterisk outside double quotes)?
This works, have updated to V2

> Thanks,
>
> Bart.
>
>
> _______________________________________________
> Linux-nvme mailing list
> Linux-nvme@lists.infradead.org
> http://lists.infradead.org/mailman/listinfo/linux-nvme


^ permalink raw reply	[flat|nested] 18+ messages in thread

* Re: [PATCH blktests 2/5] tests/nvmeof-mp/rc: run nvmeof-mp tests if we set multipath=N
  2020-11-25  3:51       ` Bart Van Assche
@ 2020-11-25  7:36         ` Yi Zhang
  0 siblings, 0 replies; 18+ messages in thread
From: Yi Zhang @ 2020-11-25  7:36 UTC (permalink / raw)
  To: Bart Van Assche, osandov; +Cc: linux-block, sagi, linux-nvme



On 11/25/20 11:51 AM, Bart Van Assche wrote:
> On 11/24/20 6:04 AM, Yi Zhang wrote:
>> Do you mean something like this, could you add more detail here, thanks.
>>
>> diff --git a/tests/nvmeof-mp/rc b/tests/nvmeof-mp/rc
>> index d7a7c87..af700d9 100755
>> --- a/tests/nvmeof-mp/rc
>> +++ b/tests/nvmeof-mp/rc
>> @@ -16,9 +16,9 @@ group_requires() {
>>
>>          # Since the nvmeof-mp tests are based on the dm-mpath driver, these
>>          # tests are incompatible with the NVME_MULTIPATH kernel
>> configuration
>> -       # option.
>> -       if _have_kernel_option NVME_MULTIPATH; then
>> -               SKIP_REASON="CONFIG_NVME_MULTIPATH has been set in .config"
>> +       # option and nvme_core: multipath set with Y.
>> +       if _have_kernel_option NVME_MULTIPATH &&
>> _have_module_param_value nvme_core multipath Y; then
>> +               SKIP_REASON="CONFIG_NVME_MULTIPATH has been set in
>> .config and nvme_core: multipath should be set with N"
>>                  return
>>          fi
> I may have sent you in the wrong direction. This is what I meant:
>
> 	if _have_kernel_option NVME_MULTIPATH &&
> 	    _have_module_param_value nvme_core multipath Y; then
> 	    SKIP_REASON="CONFIG_NVME_MULTIPATH has been set in .config and
> multipathing has been enabled in the nvme_core kernel module"
> 	    return
> 	fi
Updated on V2, thanks for the review.

> Thanks,
>
> Bart.
>
> _______________________________________________
> Linux-nvme mailing list
> Linux-nvme@lists.infradead.org
> http://lists.infradead.org/mailman/listinfo/linux-nvme


^ permalink raw reply	[flat|nested] 18+ messages in thread

end of thread, other threads:[~2020-11-25  7:37 UTC | newest]

Thread overview: 18+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2020-11-24  1:04 [PATCH blktests 0/5] nvmeof-mp/srp/nvme-rdma misc fix and enhancement Yi Zhang
2020-11-24  1:04 ` [PATCH blktests 1/5] tests/srp/rc: update the ib_srpt module name Yi Zhang
2020-11-24  3:23   ` Bart Van Assche
2020-11-24 14:01     ` Yi Zhang
2020-11-25  3:47       ` Bart Van Assche
2020-11-25  7:36         ` Yi Zhang
2020-11-24  1:04 ` [PATCH blktests 2/5] tests/nvmeof-mp/rc: run nvmeof-mp tests if we set multipath=N Yi Zhang
2020-11-24  3:26   ` Bart Van Assche
2020-11-24 14:04     ` Yi Zhang
2020-11-25  3:51       ` Bart Van Assche
2020-11-25  7:36         ` Yi Zhang
2020-11-24  1:04 ` [PATCH blktests 3/5] tests/nvmeof-mp/012: fix the schedulers list Yi Zhang
2020-11-24  3:28   ` Bart Van Assche
2020-11-24 14:06     ` Yi Zhang
2020-11-24  1:04 ` [PATCH blktests 4/5] common/rc: _have_iproute2 fix for "ip -V" change Yi Zhang
2020-11-24  3:29   ` Bart Van Assche
2020-11-24 14:07     ` Yi Zhang
2020-11-24  1:04 ` [PATCH blktests 5/5] common/multipath-over-rdma: allow to set use_siw Yi Zhang

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).