Understanding viostat -adapter vfchost output.
cggibbo 270000TMUJ Comments (5) Visits (19911)
time I ran the ’viostat –adapter’ command I expected to find
non-zero values for kbps, tps, etc, for each vfchost adapter. However, the values were always zero, no matter
how much traffic traversed the adap
-adapter 1 1
I wondered if this was expected behaviour. Was the output supposed to report the amount of pass-thru traffic per vfchost? In 2011, I posed this question on the IBM developerWorks PowerVM forum regarding this observation. One of the replies stated:
"viostat does not give statistics for NPIV devices. The vfchost adapter is just a passthru, it doesn't know what the commands it gets are."
I appreciated someone taking the time to answer my question but I was still curious. I tested the same command again (in 2013) on a recent VIOS level (188.8.131.52), but I received the same result. It was time to source an official answer on this behaviour.
Here is the official response I received from IBM:
1. FC adapter stats in viostat/iostat do not include NPIV.
2. viostat & iostat are an aggregate of all the stats from the underlying disks, which of course NPIV doesn't have.
There's really no way for the vfchost adapter to monitor I/O,
since it doesn't know what the commands it gets are. He's just a passthru,
passing the commands he gets from the client directly to the physical FC
3. You can run fcstat on the VIOS but that has the same issues/limitations mentioned above.
Intent here was that customers would use tools on the client to monitor this sort of thing.
the comments from Deve
viostat does NOT give statistics for NPIV devices.”
This made sense but I wondered why the tool hadn’t been changed to exclude vfchost adapters from the output (to avoid customer confusion). There's obviously no valid reason to ever display any information for this type of adapter. I also understood that it was expected that I/O would be monitored at the client LPAR level. But I must say that an option for monitoring VFC I/O from a VIO server would be advantageous i.e. a single source view of all I/O activity for all VFC clients; particularly when there are several hundred partitions on a frame. The response was:
the vfchost driver currently works is that it calls iostadd to register a
dkstat structure, resulting in the adapter being listed when viostat is
called. This is misleading, however,
since the vfchost driver does not actually track I/O. The commands coming from the client partition
are simply passed as-is to the physical FC adapter, and we don't know if a
particular command is an I/O command or not.
The iostadd call is left over from porting the code from the vscsi
driver, and Development agrees it should probably have been removed before
shipping the code
There has also been mention of a DCR #MR0413117456 (Title: FC adapter stats in viostat/iostat does not include NPIV) which you can follow-up with Marketing to register your interest/track progress if that is something you're interested in pursuing.”