Obsolete NKern Interrupt Methods

This document specifies two obsolete interrupt handling methods and describes their replacement.

Description of the obsolete interrupt methods

The obsolete NKern interrupt methods are:

These methods are used (with other methods in the NKern class) to protect shared data between an ISR (Interrupt Service Request) and a thread (or a DFC (Delayed Function Call )).

The steps involved in disabling/enabling an interrupt are:

  1. Disable the interrupts

  2. Process the data

  3. Re-enable the interrupts

Note: The time spent processing the data must be as short as possible, otherwise performance problems could occur.

The reason why these methods are obsolete

These methods only affect the core that the thread is running on instead of all the cores on the system.

The replacement for these methods

These methods have been replaced by the following:

Areas that could be affected

These obsolete methods are used within drivers and the following points should be considered when removing them:

  • Could the same functionality be accomplished by disabling the interrupts in hardware?

  • Are these methods required at all?

    If memory is not accessible in ISR (Interrupt Service Request) routines, then use spin locks or atomic operations.

  • Explore the use of DFC (Delayed Function Call) signalling.