Closed
Bug 982685
Opened 11 years ago
Closed 11 years ago
Fix the ammeter ms counter to not stretch time when the ammeter is very busy
Categories
(Powertool Graveyard :: Hardware, defect, P1)
Tracking
(Not tracked)
RESOLVED
FIXED
People
(Reporter: jhylands, Assigned: jhylands)
References
Details
(Keywords: perf, Whiteboard: [c=power p=3 s= u=])
Attachments
(1 file)
149.60 KB,
image/png
|
Details |
While working on bug 928475, I realized that the ammeter is not keeping time properly on its internal millisecond clock counter while we are hammering it at full speed from the profiler/ammeter support code.
I verified this using my logic analyzer, which is shown in attachment one. The top line on the analyzer is the "handle sample" indicator. The second line is toggled in the millisecond clock counter interrupt service routine.
I need to change the system to use a 16 bit timer, and not depend on resetting the overflow counter inside the ISR. With the right prescalar, we can set up the system to only call the ISR once every 250 ms, and have a 32-bit counter offset that is updated from there. The MS clock value can then be derived at will from adding the counter offset with the current hardware timer value (appropriately scaled) to get an accurate MS clock counter that doesn't depend on the ISR getting called on exactly millisecond boundaries.
Assignee | ||
Comment 1•11 years ago
|
||
Basically, what I'm seeing with this bug is the ammeter's ms counter is losing approximately 20% of its value, so a 500 ms interval is clocked as ~400ms. The actual offsets measured were:
444 384 408 336 396 378 414 360 372
Assignee | ||
Updated•11 years ago
|
Assignee | ||
Updated•11 years ago
|
Priority: -- → P1
Whiteboard: [c=power p= s= u=] → [c=power p=3 s= u=]
Assignee | ||
Comment 2•11 years ago
|
||
Status: ASSIGNED → RESOLVED
Closed: 11 years ago
Resolution: --- → FIXED
You need to log in
before you can comment on or make changes to this bug.
Description
•