This entry is
similar in theme to one of my previous posts
about verifying your hdisk queue_depth settings with kdb. This time we want to check if an attribute for a Virtual FC (VFC)
adapter has been modified and whether or not AIX has been restarted since the
change. The attribute I’m interested in is num_cmd_elems.
This value is often changed from its default settings, in AIX environments, to improve
I/O performance on SAN attached storage.

From
kdb you can identify the VFC
adapters configured on an AIX system using the vfcs subcommand. Not only does this tell you what adapters you
have, but it also identifies the VIOS each adapter is connected to and the
corresponding vfchost adapter. Nice!

(0)>
vfcs

NAMEADDRESSSTATEHOSTHOST_ADAPOPENED NUM_ACTIVE

fcs00xF1000A00103D40000x0008vio1vfchost100x010x0000

fcs10xF1000A00103D60000x0008vio2vfchost100x010x0000

You can view
the current (running) configuration of a VFC adapter using the kdb vfcs subcommand and the name of the
VFC adapter, for example fcs1:

Using the
output from this command we can determine the current (running) value for a
number of VFC attributes, including num_cmd_elems.

So I start
with an adapter with a num_cmd_elems
value of 200. Both the lsattr command
and kdb report 200 (C8 in hex) for num_cmd_elems.

#
lsattr -El fcs1 -a num_cmd_elems

num_cmd_elems
200 Maximum
Number of COMMAND Elements True

#
echo vfcs fcs1 | kdb | grep num_cmd_elems

num_cmd_elems:
0xC8location_code: U9119.FHA.87654A1-V20-C10-T1

I change num_cmd_elems to 400 with chdev –P (remember,
the –P flag only updates the AIX ODM, and not the running configuration of the
device in the AIX kernel. You must either reboot for this change to take effect
or offline & online the device).

#
chdev -l fcs1 -a num_cmd_elems=400 -P

fcs1
changed

Now the lsattr command reports num_cmd_elems is set to 400 in the ODM.