When there are multiple disk-I/O requests in the SCSI device driver's queue, it attempts to coalesce those requests into a smaller number of large requests. The largest request (in terms of data transmitted) that the SCSI device driver will build is limited by the max_coalesce parameter. Normally, max_coalesce has a value of 64KB.
To make maximum use of striped logical volumes and disk arrays, it may be desirable to increase the size of max_coalesce. To do so, it is necessary to have a stanza in the PdAt ODM database that specifies the new max_coalesce value. If you have already added such a stanza, you can obtain the current version with:
# odmget -q \ "uniquetype=disk/scsi/osdisk AND attribute=max_coalesce" \ PdAt > foo
If there is no such stanza already, use an editor to create the file foo with the following content:
PdAt: uniquetype = "disk/scsi/osdisk" attribute = "max_coalesce" deflt = "0x20000" values = "0x20000" width = "" type = "R" generic = "" rep = "n" nls_index = 0
Note that max_coalesce, in bytes, is expressed as a hexadecimal number. The deflt and values field values of 0x20000 will set max_coalesce to 128KB. Then replace the old stanza in PdAt, if any, with foo, using:
# odmdelete -o PdAt \ -q "uniquetype=/disk/scsi/osdisk AND attribute=max_coalesce" # odmadd < foo
To put the change into effect, you must rebuild the kernel and reboot, with:
# bosboot -a -d hdisk0 # shutdown -rF