Home | History | Annotate | Download | only in netperf
      1 A note about CPU utilization...
      2 
      3 For HP-UX 11.0 <= system < 11.23 the configure script will select the
      4 "pstat" CPU utilization mechanism.  This mechanism is the familiar
      5 HP-UX idle counter mechanism (for all incense and porpoises) and
      6 requires calibration.  See src/netcpu_pstat.c for all the details.
      7 
      8 For HP-UX 11.23 >= system, the configure script will select the
      9 "pstatnew" CPU utilization mechanism.  11.23 adds cycle counts for
     10 user, kernel and interrupt modes to the idle cycle counter.  As such,
     11 it _should_ be possible to simply take the sum of the four and the
     12 fractions and know how much time was spent in each mode.
     13 HOWEVER... there is a bug in the accounting for interrupt cycles,
     14 where interrupt cycles go missing.  SOOO, since there is an accurate
     15 way to know what the total number of cycles should have been over the
     16 interval, and we know (ass-u-me) that the idle cycle counter is good
     17 (since the pstat mechanism has tested that one OK), we will take the
     18 ratio of idle to total cycles to compute CPU util.  
     19 
     20 We will still calculate fractions for user, kernel and interrupt, and
     21 report them in debug (-d) output, but with a warning for interrupt
     22 time.  See src/netcpu_pstatnew.c for all the details.
     23 
     24 Up through HP-UX 11.23 (aka 11iV2) if you enable burst mode, and
     25 happen to send sub-MSS requests and/or responses you _cannot_ assume
     26 that the packet per second rate on the wire will match the transaction
     27 per second rate reported by netperf, even if you set TCP_NODELAY with
     28 the test-specific -D option.  The HP-UX 11.X TCP stack likely will be
     29 generating some immediate 'standalone' ACKnowledgements which may not
     30 be generated by other stacks.  This has been reported to the HP-UX TCP
     31 folks, and an announcement will be made when that issue is resolved.
     32