Tuesday, May 22, 2012

Watchdog fires on high interrupt rate

I am working on a customized/proprietary RTOS provided by my client.

The RTOS uses round robin scheduling with priority preemption.

Scenario is -

  1. The Renesas H8S controller is running at 20 MHz

  2. I have configured interrupt for ethernet interrupt (A LAN9221 chip is interrupting)

  3. A task which reads the data from LAN controller is running at highest priority in OS

  4. Another task TCP which is second highest priority task in system

I have generated network traffic to simulate bombarding condition on the network.
Problem is at high data rates (more than 500 packets/second) on ethernet ISR watchdog is getting fired which is configured for 1 second.

Watchdog is configured to be serviced by a lower priority task of OS to detect any problem in OS functionality.

I doubt the frequency of ISR and higher priority tasks are not letting the watchdog task to be scheduled. To confirm my doubt i have serviced the watchdog in ISR itself and found working till 2000 packets/second.

Could you please suggest how can handle the situation so the watchdog should not fire even on higher data/interrupt rate.


No comments:

Post a Comment