Bug 700140

Summary: default path_selector for DGC device
Product: Red Hat Enterprise Linux 6 Reporter: Jon Magrini <jmagrini>
Component: device-mapper-multipathAssignee: Ben Marzinski <bmarzins>
Status: CLOSED WONTFIX QA Contact: Red Hat Kernel QE team <kernel-qe>
Severity: unspecified Docs Contact:
Priority: unspecified    
Version: 6.0CC: agk, bmarzins, dwysocha, heinzm, mbroz, prajnoha, prockai, zkabelac
Target Milestone: rc   
Target Release: ---   
Hardware: x86_64   
OS: Linux   
Whiteboard:
Fixed In Version: Doc Type: Bug Fix
Doc Text:
Story Points: ---
Clone Of: Environment:
Last Closed: 2011-06-06 14:23:02 UTC Type: ---
Regression: --- Mount Type: ---
Documentation: --- CRM:
Verified Versions: Category: ---
oVirt Team: --- RHEL 7.3 requirements from Atomic Host:
Cloudforms Team: --- Target Upstream Version:

Description Jon Magrini 2011-04-27 15:08:19 UTC
Description of problem:
path_selector default hwtable entry for EMC CLARiiON is "round-robin 0"

Version-Release number of selected component (if applicable):
kernel:  2.6.32-71.18.2.el6.x86_64
device-mapper-multipath: device-mapper-multipath-0.4.9-31.el6_0.3.x86_64

How reproducible:
N/A

Steps to Reproduce:
1.
2.
3.
  
Actual results:
path_selector  "round-robin 0"

Expected results:
path_selector  "service-time 0"

Additional info:

EMC recommended configuration per EMC® Host Connectivity Guide
for Linux P/N 300-003-865 REV A23

device {
vendor "DGC"
product ".*"
product_blacklist "LUNZ"
path_grouping_policy group_by_prio
getuid_callout "/lib/udev/scsi_id --whitelisted --device=/dev/%n"
path_selector "service-time 0"
path_checker emc_clariion
features "1 queue_if_no_path"
hardware_handler "1 emc"
prio emc
failback immediate
rr_weight uniform
no_path_retry 60
rr_min_io 1000
}

Comment 1 Jon Magrini 2011-04-27 15:09:24 UTC
Disk /dev/mapper/mpathb: 35.2 GB, 35163209728 bytes
255 heads, 63 sectors/track, 4275 cylinders, total 68678144 sectors
Units = sectors of 1 * 512 = 512 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes
Disk identifier: 0x86336388

             Device Boot      Start         End      Blocks   Id  System
/dev/mapper/mpathbp1            2048    68678143    34338048   83  Linux

Comment 2 Jon Magrini 2011-04-27 15:10:29 UTC
Basic single thread I/O benchmark:

mpathb (3600601f0d057000019fc7845f46fe011) dm-5 DGC,DISK
size=33G features='1 queue_if_no_path' hwhandler='1 emc' wp=rw
`-+- policy='service-time 0' prio=1 status=active
  |- 7:0:0:1 sdc 8:32 active ready running
  `- 6:0:0:1 sdf 8:80 active ready running

# sync; echo 3 > /proc/sys/vm/drop_caches
# sync; time `dd if=/dev/zero of=/san_disk/test.4096 bs=4096 count=262144; sync`
262144+0 records in
262144+0 records out
1073741824 bytes (1.1 GB) copied, 2.73627 s, 392 MB/s

real	0m30.898s
user	0m0.046s
sys	0m1.536s

Comment 3 Jon Magrini 2011-04-27 15:11:04 UTC
mpathb (3600601f0d057000019fc7845f46fe011) dm-5 DGC,DISK
size=33G features='1 queue_if_no_path' hwhandler='1 emc' wp=rw
`-+- policy='round-robin 0' prio=1 status=active
  |- 7:0:0:1 sdc 8:32 active ready running
  `- 6:0:0:1 sdf 8:80 active ready running


# sync; echo 3 > /proc/sys/vm/drop_caches
# sync; time `dd if=/dev/zero of=/san_disk/test.4096 bs=4096 count=262144; sync`
262144+0 records in
262144+0 records out
1073741824 bytes (1.1 GB) copied, 3.21566 s, 334 MB/s

real	0m32.123s
user	0m0.040s
sys	0m1.555s

Comment 4 Jon Magrini 2011-04-27 15:12:36 UTC
blacklist {
       devnode "^(ram|raw|loop|fd|md|dm-|sr|scd|st)[0-9]*"
       devnode "^hd[a-z]"
       devnode "^dcssblk[0-9]*"
       devnode "^sda[0-9]*"
}

defaults {
        user_friendly_names yes
}

devices }
       device {
               vendor                  "DGC"
               product                 ".*"
               product_blacklist       "LUNZ"
               getuid_callout          "/lib/udev/scsi_id --whitelisted --device=/dev/%n"
               prio_callout            "/sbin/mpath_prio_emc /dev/%n"
               features                "1 queue_if_no_path"
               hardware_handler        "1 emc"
               path_selector           "service-time 0"
               #path_selector           "round-robin 0"
               path_grouping_policy    group_by_prio
               failback                immediate
               rr_weight               uniform
               no_path_retry           60
               rr_min_io               1000
               path_checker            emc_clariion
               prio                    emc
       }
}

Comment 6 Ben Marzinski 2011-04-27 18:11:54 UTC
I'm confused.  We take our default configs from the hardware vendors.  As far as I know, EMC hasn't sent us a config with the default selector set to service time.  I'm actually pushing to have remove the path_selector default from most of the configs in the devices section, unless the vendor specifically asks for it to stay.  This will allow users to set the path selector want in the defaults section, without having to edit each device config separately.

That being said, If someone from EMC wants to verify that EMC does want to use service-time as the default, I'll be more than happy to switch it.

Comment 7 RHEL Program Management 2011-04-28 06:01:20 UTC
Since RHEL 6.1 External Beta has begun, and this bug remains
unresolved, it has been rejected as it is not proposed as
exception or blocker.

Red Hat invites you to ask your support representative to
propose this request, if appropriate and relevant, in the
next release of Red Hat Enterprise Linux.

Comment 8 Ben Marzinski 2011-06-06 14:23:02 UTC
I'm not changing this. I will be push a patch to remove the path_selector from the default configs on all devices configs unless the storage vendor specifically asks for it.