> OK, I think I got it, please correct if I am wrong:
> 
> Suppose I do [b]prstat -m 10[/b], suppose a given lwp is in state X at
> the beginning and transitions to state Y 4 seconds after the beginning
> of the monitoring sample and back to X 1 sec later. 

So, in this scenario the time that your lwp has spent in state X doesn't
get attributed to being in state X until it transitions to state Y.
Once you change from state Y back to state X, the time spent in Y gets
attributed to state Y.  On Solaris 9, you won't see the additional time
you spend in state X once you have left state Y until you change to
another state.

> If I am on Solaris9 then only state transition timestamps will be
> recorded (but not durations).

Microstate accounting uses a start and end timestamp to determine the
duration of time a lwp spends in a given state.


> USR/SYS will be the least affected and SLP will probably be the most
> affected by this. In general lwps that are mostly idle are more likely
> to have their SLP time under-reported.

I think USR/SYS are less likely to be affected, however any lwp that
spends a large amount of time in any one state will probably encounter
this problem.

Just to be clear, the microstate accounting mechanism isn't broken.
It's just the way that procfs is reporting the data to prstat on Solaris
9 that causes this problem.

-j
_______________________________________________
perf-discuss mailing list
perf-discuss@opensolaris.org

Reply via email to