Querying AIX device attribute values with the AIX kernel debugger

We all know that you can modify online certain attributes on AIX devices, like queue_depth on disks for example :

# chdev -l hdisk15 -a queue_depth=16

However, some attributes changes need a reboot as the device property is in use at that time. You can modify the property by specifying that it will be modified at boot time, with the 'chdev -P' option. This can lead to quite some confusion : imagine a junior sysadmin changing the property, but forgetting the reboot. The 'lsattr' command will report the modified value, but not if it is effectively in use.

We can obtain the currently used value by interrogating the AIX kernel with the kernel debugger, quite a handy feature.
The following command shows the current value of cmd_num_elems on the virtual fiber adapter :

echo vfcs fcs0 | kdb | grep num_cmd_elems 

The following command lists the current values of the queue_depth parameter on hdisk15 :

# echo scsidisk hdisk3 |kdb |grep queue
    ushort queue_depth   = 0x8;