blob: 78184497bdbe6632044c5479bbcb9f312df3024c [file] [log] [blame]
A note about CPU utilization...
For HP-UX 11.0 <= system < 11.23 the configure script will select the
"pstat" CPU utilization mechanism. This mechanism is the familiar
HP-UX idle counter mechanism (for all incense and porpoises) and
requires calibration. See src/netcpu_pstat.c for all the details.
For HP-UX 11.23 >= system, the configure script will select the
"pstatnew" CPU utilization mechanism. 11.23 adds cycle counts for
user, kernel and interrupt modes to the idle cycle counter. As such,
it _should_ be possible to simply take the sum of the four and the
fractions and know how much time was spent in each mode.
HOWEVER... there is a bug in the accounting for interrupt cycles,
where interrupt cycles go missing. SOOO, since there is an accurate
way to know what the total number of cycles should have been over the
interval, and we know (ass-u-me) that the idle cycle counter is good
(since the pstat mechanism has tested that one OK), we will take the
ratio of idle to total cycles to compute CPU util.
We will still calculate fractions for user, kernel and interrupt, and
report them in debug (-d) output, but with a warning for interrupt
time. See src/netcpu_pstatnew.c for all the details.
Up through HP-UX 11.23 (aka 11iV2) if you enable burst mode, and
happen to send sub-MSS requests and/or responses you _cannot_ assume
that the packet per second rate on the wire will match the transaction
per second rate reported by netperf, even if you set TCP_NODELAY with
the test-specific -D option. The HP-UX 11.X TCP stack likely will be
generating some immediate 'standalone' ACKnowledgements which may not
be generated by other stacks. This has been reported to the HP-UX TCP
folks, and an announcement will be made when that issue is resolved.