diff options
| author | esolom <none@none> | 2005-11-23 14:13:35 -0800 |
|---|---|---|
| committer | esolom <none@none> | 2005-11-23 14:13:35 -0800 |
| commit | fd71cd2f6f10f4a2e3af3efe8b145d645bb80d85 (patch) | |
| tree | 97f1f1823eae4cd4b05275102e7020865e8301c6 /usr/src/uts/i86pc/ml | |
| parent | 394a25e24123cdf9d847097cafd585e4aed8f420 (diff) | |
| download | illumos-joyent-fd71cd2f6f10f4a2e3af3efe8b145d645bb80d85.tar.gz | |
6352347 100% system: interrupts account for 20 days, uptime for only 7
Diffstat (limited to 'usr/src/uts/i86pc/ml')
| -rw-r--r-- | usr/src/uts/i86pc/ml/interrupt.s | 20 |
1 files changed, 20 insertions, 0 deletions
diff --git a/usr/src/uts/i86pc/ml/interrupt.s b/usr/src/uts/i86pc/ml/interrupt.s index 793febdb56..ddecbf69b1 100644 --- a/usr/src/uts/i86pc/ml/interrupt.s +++ b/usr/src/uts/i86pc/ml/interrupt.s @@ -894,6 +894,16 @@ _interrupt_size: / testw $T_INTR_THREAD, T_FLAGS(%edx) jz 0f + / + / We have interrupted an interrupt thread. Account for its time slice + / only if its time stamp is non-zero. t_intr_start may be zero due to + / cpu_intr_swtch_enter. + / + cmpl $0, T_INTR_START+4(%edx) + jne 1f + cmpl $0, T_INTR_START(%edx) + je 0f +1: pushl %ecx pushl %eax movl %edx, %esi @@ -1327,6 +1337,16 @@ _fakesoftint_size: / If we are interrupting an interrupt thread, account for it. testw $T_INTR_THREAD, T_FLAGS(%ecx) jz 0f + / + / We have interrupted an interrupt thread. Account for its time slice + / only if its time stamp is non-zero. t_intr_start may be zero due to + / cpu_intr_swtch_enter. + / + cmpl $0, T_INTR_START+4(%ecx) + jne 1f + cmpl $0, T_INTR_START(%ecx) + je 0f +1: pushl %eax movl %eax, %ebp _tsc_patch11: |
