Windows System Software -- Consulting, Training, Development -- Unique Expertise, Guaranteed Results

Before Posting...
Please check out the Community Guidelines in the Announcements and Administration Category.

get count of interrupts before ISR?

Ephraim_YawitzEphraim_Yawitz Member - All Emails Posts: 1
Hi,

I have a device which is supposed to be generating interrupts but my ISR is never getting called on a certain machine. The same device and driver works fine on a machine with a somewhat different architecture, with my ISR being called.

I would like to see the raw count of interrupts from the device. In a *nix system, I could just do 'cat /proc/interrupts', but I don't see a way to get this in Windows. I have set up a kernel debugging connection over Ethernet, and I can break in and see regs, variables, etc.

Does anyone know a way to do this?

Comments

  • MetekMetek Member - All Emails Posts: 46
    You can use PCIScope software from APSoft, Germany at www.tssc.de
  • Jan_BottorffJan_Bottorff Member - All Emails Posts: 469
    I always put ETW tracing in a driver, including the ISR which I like to measure the duration of. The TraceLogging ETW library is REALLY easy to get basic logging working (like a dozen lines, I recently posted about this on NTDEV). I suppose you could also use WPP tracing if that's your preference.

    You can also put an interlocked counter incremented in your ISR and write the log event with this count, like for a request, in some lower bandwidth path. My memory is writing a TraceLogging event take in the vicinity of 0.3uSec, although if you are generating 500K events/sec, it burns though trace buffer memory pretty fast.

    If you use the ETWGuid utility to generate a standard hashed provider GUID, you can then just use the provider name in TraceView and not the GUID.

    AFIK there nothing exactly like /proc/interrupts, although there is some general interrupt profiling with the Windows Performance Recorder.

    Jan

    -----Original Message-----
    From: xxxxx@lists.osr.com <xxxxx@lists.osr.com> On Behalf Of xxxxx@excalibur.co.il xxxxx@lists.osr.com
    Sent: Wednesday, August 22, 2018 9:02 AM
    To: Kernel Debugging Interest List <xxxxx@lists.osr.com>
    Subject: [windbg] get count of interrupts before ISR?

    Hi,

    I have a device which is supposed to be generating interrupts but my ISR is never getting called on a certain machine. The same device and driver works fine on a machine with a somewhat different architecture, with my ISR being called.

    I would like to see the raw count of interrupts from the device. In a *nix system, I could just do 'cat /proc/interrupts', but I don't see a way to get this in Windows. I have set up a kernel debugging connection over Ethernet, and I can break in and see regs, variables, etc.

    Does anyone know a way to do this?

    ---
    WINDBG is sponsored by OSR

    OSR is hiring!! Info at http://www.osr.com/careers


    MONTHLY seminars on crash dump analysis, WDF, Windows internals and software drivers!
    Details at <http://www.osr.com/seminars>;

    To unsubscribe, visit the List Server section of OSR Online at <http://www.osronline.com/page.cfm?name=ListServer>;
Sign In or Register to comment.

Howdy, Stranger!

It looks like you're new here. If you want to get involved, click one of these buttons!