Last Updated: March 25th, 2003 by Robin Miller This is a minor release of 'dt', which includes several bug fixes and a few new features. The following changes were made to 'dt' Version 14.28: o Ported to HP-UX (actually done about a year ago). The latest updates for HP-UX are to use DIOC_DESCRIBE or SIOC_INQUIRY to obtain device information, set maximum capacity, and setup the device type automatically. o Slice & Dice: Previously, a slices=value option was added. Now, a slice=value option has been added so you can tell 'dt' which slice (range of blocks) to do I/O to. This is a handy feature for testing shared storage in a cluster (where each cluster member can do I/O to it's own slice). o Prefix Option: To help generate unique data in each record, a prefix="string" option has been added. You can specify your own generated string, or use special format control's built into 'dt' to create a unique prefix: Prefix Format Control: %d = The device name. %D = The real device name. %h = The host name. %H = The full host name. %p = The process ID. %P = The parent PID. %u = The user name. Example: prefix="%u@%h (pid %p)" o Improved Performance: The addition of new data pattern features (lbdata and IOT) caused a regression of data compare performance. By optimizing this code path, a 23-24% improvement was observed on my Alpha DS20-E with Ultra-3 disks (your mileage may vary :-). Please see attached examples for use of these new options. Within HP, the updated 'dt' kits are located @ URL: http://www.zk3.dec.com/~rmiller/dt.html External to HP, you can obtain 'dt' kits from URL: http://www.bit-net.com/~rmiller/dt.html Cheers, Robin ============================================================================== % dt of=/dev/rdisk/dsk25c bs=64k limit=1m slices=3 prefix="%u@%h (pid %p)" disable=pstats dt (3996): End of Write pass 0, records = 16, errors = 0, elapsed time = 00m00.68s dt (3998): End of Write pass 0, records = 16, errors = 0, elapsed time = 00m00.70s dt (3997): End of Write pass 0, records = 16, errors = 0, elapsed time = 00m00.71s dt (3996): End of Read pass 1, records = 16, errors = 0, elapsed time = 00m00.65s Total Statistics (3996): Output device/file name: /dev/rdisk/dsk25c (Device: BF01863644, type=disk) Type of I/O's performed: sequential (forward) Slice Range Parameters: position=0 (lba 0), limit=1048576 Current Slice Reported: 1/3 Data pattern prefix used: 'rmiller@wisdom (pid 3996)' Data pattern read/written: 0x39c39c39 Total records processed: 32 @ 65536 bytes/record (64.000 Kbytes) Total bytes transferred: 2097152 (2048.000 Kbytes, 2.000 Mbytes) Average transfer rates: 1553446 bytes/sec, 1517.037 Kbytes/sec Number I/O's per second: 23.704 Total passes completed: 1/1 Total errors detected: 0/1 Total elapsed time: 00m01.35s Total system time: 00m00.00s Total user time: 00m00.08s Starting time: Tue Mar 25 14:53:02 2003 Ending time: Tue Mar 25 14:53:03 2003 dt (3998): End of Read pass 1, records = 16, errors = 0, elapsed time = 00m00.65s Total Statistics (3998): Output device/file name: /dev/rdisk/dsk25c (Device: BF01863644, type=disk) Type of I/O's performed: sequential (forward) Slice Range Parameters: position=12139546624 (lba 23710052), limit=1048576 Current Slice Reported: 3/3 Data pattern prefix used: 'rmiller@wisdom (pid 3998)' Data pattern read/written: 0x0f0f0f0f Total records processed: 32 @ 65536 bytes/record (64.000 Kbytes) Total bytes transferred: 2097152 (2048.000 Kbytes, 2.000 Mbytes) Average transfer rates: 1553446 bytes/sec, 1517.037 Kbytes/sec Number I/O's per second: 23.704 Total passes completed: 1/1 Total errors detected: 0/1 Total elapsed time: 00m01.35s Total system time: 00m00.00s Total user time: 00m00.08s Starting time: Tue Mar 25 14:53:02 2003 Ending time: Tue Mar 25 14:53:03 2003 dt (3997): End of Read pass 1, records = 16, errors = 0, elapsed time = 00m00.66s Total Statistics (3997): Output device/file name: /dev/rdisk/dsk25c (Device: BF01863644, type=disk) Type of I/O's performed: sequential (forward) Slice Range Parameters: position=6069773312 (lba 11855026), limit=1048576 Current Slice Reported: 2/3 Data pattern prefix used: 'rmiller@wisdom (pid 3997)' Data pattern read/written: 0x00ff00ff Total records processed: 32 @ 65536 bytes/record (64.000 Kbytes) Total bytes transferred: 2097152 (2048.000 Kbytes, 2.000 Mbytes) Average transfer rates: 1516013 bytes/sec, 1480.482 Kbytes/sec Number I/O's per second: 23.133 Total passes completed: 1/1 Total errors detected: 0/1 Total elapsed time: 00m01.38s Total system time: 00m00.00s Total user time: 00m00.08s Starting time: Tue Mar 25 14:53:02 2003 Ending time: Tue Mar 25 14:53:03 2003 % dt of=/dev/rdisk/dsk25c bs=64k slices=25 slice=13 disable=pstats enable=debug dt (4000): DEVGETINFO Capacity: 35565080 blocks. dt (4000): Data limit set to 18209320960 bytes (17365.762 Mbytes), 35565080 blocks. dt (4000): Slice 13 Information: Start: 8740472832 offset (lba 17071236) End: 9468845568 offset (lba 18493839) Length: 728372736 bytes (1422603 blocks) Limit: 728372736 bytes (1422603 blocks) dt: Attempting to open output file '/dev/rdisk/dsk25c', open flags = 01 (0x1)... dt: Output file '/dev/rdisk/dsk25c' successfully opened, fd = 3 dt: Data limit set to 18209320960 bytes (17365.762 Mbytes), 35565080 blocks. dt: Allocated buffer at address 0x140026000 of 65540 bytes, using offset 0 dt: Using data pattern 0x39c39c39 for pass 1 dt: Record #11115, Writing a partial record of 5632 bytes... dt: End of Write pass 0, records = 11114, errors = 0, elapsed time = 02m18.36s dt: Closing file '/dev/rdisk/dsk25c', fd = 3... dt: Attempting to reopen file '/dev/rdisk/dsk25c', open flags = 0 (0)... dt: File '/dev/rdisk/dsk25c' successfully reopened, fd = 3 dt: Record #11115, Reading a partial record of 5632 bytes... dt: End of Read pass 1, records = 11114, errors = 0, elapsed time = 02m59.35s dt: Closing file '/dev/rdisk/dsk25c', fd = 3... Total Statistics: Output device/file name: /dev/rdisk/dsk25c (Device: BF01863644, type=disk) Type of I/O's performed: sequential (forward) Data pattern read/written: 0x39c39c39 Total records processed: 22228 @ 65536 bytes/record, 2 partial Total bytes transferred: 1456745472 (1422603.000 Kbytes, 1389.261 Mbytes) Average transfer rates: 4584565 bytes/sec, 4477.114 Kbytes/sec Number I/O's per second: 69.961 Total passes completed: 1/1 Total errors detected: 0/1 Total elapsed time: 05m17.75s Total system time: 00m03.56s Total user time: 01m01.80s Starting time: Tue Mar 25 14:55:08 2003 Ending time: Tue Mar 25 15:00:25 2003 %