×

Handling interrupt actions for inter-thread communication

  • US 9,256,461 B2
  • Filed: 09/18/2013
  • Issued: 02/09/2016
  • Est. Priority Date: 09/18/2013
  • Status: Expired due to Fees
First Claim
Patent Images

1. A computer program product comprising a non-transitory computer recordable storage medium having a computer readable program stored therein, wherein the computer readable program, when executed on a computing device, causes the computing device to:

  • provide in association with a first processor thread, a thread action data structure comprising a non-blocking synchronization data structure and an internal list data structure of pending interrupts, wherein the thread action data structure associated with the first processor thread receives interrupts from other processor threads in the computing device;

    receive a post of an interrupt action from a second processor thread to the thread action data structure associated with the first processor thread, wherein the interrupt action is added to the non-blocking synchronization data structure of the thread action data structure;

    move the interrupt action from the non-blocking synchronization data structure to the internal list data structure of pending interrupts for handling by the first processor read, wherein, responsive to receiving a post of a new interrupt action while the interrupt action is being moved from the non-blocking synchronization data structure to the internal list data structure of pending interrupts, the computer readable program further causes the computing device to;

    delay the posting of the new interrupt action to the non-blocking synchronization data structure until after the interrupt action is moved from the non-blocking synchronization data structure to the internal list data structure of pending interrupts;

    responsive to the interrupt action being moved from the non-blocking synchronization data structure to the internal list data structure of pending interrupts, add the new interrupt action to the non-blocking synchronization data structure of the thread action data structure; and

    update a atomic reference to a head of the non-blocking synchronization data structure in response adding the new interrupt action from the second processor thread to the thread action data structure associated with the first processor thread, wherein the atomic reference to the head of the non-blocking synchronization data structure points to the new interrupt action in the non-blocking synchronization data structure; and

    process the internal list data structure of pending interrupts to thereby handle interrupt actions moved to the internal list data structure.

View all claims
  • 1 Assignment
Timeline View
Assignment View
    ×
    ×