Thomas De Schampheleire wrote:
Hi,

This message was originally posted on the osol-code mailing list, but someone suggested this is more appropriate for the performance community.

I am using a full-system simulator (Simics) on a simulated OpenSolaris installation for a research project. The aim of the project is to implement adaptive processor shutdown for energy savings.

Neat.


We would like to measure the dependence of the interrupt latency (interrupt response time) on the power state of a processor.


Ok.... how does your simulator model power states?  Not many SPARC
CPUs support multiple running power states...

By adding a special ("magic") assembler instruction to the kernel code, we can halt the simulation and consequently do memory reads/writes or execute code in the simulator. I was thinking of adding such a magic instruction at the beginning of the general interrupt code, and just before the execution of the actual interrupt handler (for that specific interrupt). I could then find a way of reading out current system time (I believe this is possible from the simulator, otherwise I could maybe read out system time directly from memory?).

Is this a correct approach?


Seems plausible...

I would thus add these magic instructions at line 63 (entry) and right before lines 558 and 1181 (before the actual handler is called) referring to http://src.opensolaris.org/source/xref/onnv/onnv-gate/usr/src/uts/sun4/ml/interrupt.s <http://src.opensolaris.org/source/xref/onnv/onnv-gate/usr/src/uts/sun4/ml/interrupt.s>. Is this correct?

In interrupt.s, I see that some kind of timestamp is saved before the interrupt is called. What purpose does it serve, and where is it stored?

This is for interrupt accounting... look at thread structure for t_intr_start field.



And where can I find a list and explanation of the different assembler instructions that are used? This would be most useful to me!


I'd take a look at a copy of the SPARC architecture manual...

http://developers.sun.com/solaris/articles/sparcv9.pdf


- Bart


Thank you, Thomas


------------------------------------------------------------------------

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


--
Bart Smaalders                  Solaris Kernel Performance
[EMAIL PROTECTED]               http://blogs.sun.com/barts
_______________________________________________
perf-discuss mailing list
perf-discuss@opensolaris.org

Reply via email to