Showing posts with label ECKD. Show all posts
Showing posts with label ECKD. Show all posts

May 4, 2016

dasdfmt performance

This week I got asked multiple times on how to speed up the formatting of classical ECKD DASDs. The command to use is dasdfmt which is part of the s390-tools package. In the newer distributions there is an option called --requestsize=..... which allows to specify the number of cylinders to use in each format step. Basically it's the amount of parallelism that should be used.
The drawback is that on classical ECKD devices you can only have one outstanding IO. So to take advantage of this you need (Hyper)PAV installed and enabled for the DASD you want to format. For the comparison here I used one base device and 16 aliases and a 3390 mod 9 DASD with 10017 cylinders. Varying the requestsize from 1 to 16 on Ubuntu 16.04 I got the following throughput:


As you can see you can get a decent speedup. You can get well under 10s in my example. So give it a try. 

November 18, 2013

Raw ECKD access from zLinux

Since a while the Linux DASD driver has been enhanced to access full ECKD tracks. Basically the following steps are needed:
  1. Take the device offline from other System z operating systems
  2. get the device online in zLinux 
  3. switch the device in raw ECKD mode:
    echo 1 > /sys/bus/ccw/devices/<device ID>/raw_track_access
  4. use a program that reads and writes whole tracks (64k) with direct IO like a dd with the respective flags to read or write
More details can be found in the chapter about the DASD driver (search for "raw_track_access") in the "Device Drivers, Features, and Commands" book for the respective distributions, e.g.
This book is really recommended as a reference.