×

Asynchronous grace-period primitives for user-space applications

  • US 9,250,978 B2
  • Filed: 06/27/2011
  • Issued: 02/02/2016
  • Est. Priority Date: 06/27/2011
  • Status: Expired due to Fees
First Claim
Patent Images

1. A system, comprising:

  • one or more processors;

    a memory coupled to said one or more processors, said memory including a computer useable medium tangibly embodying at least one program of instructions executable by said processor to perform operations for implementing user-level read-copy update (RCU) with support for asynchronous grace periods, said operations comprising;

    establishing a user-level RCU subsystem that executes within threads of a user-level multithreaded application;

    said multithreaded application comprising one or more reader threads that read RCU-protected data elements in a shared memory;

    said multithreaded application comprising one or more updater threads that perform updates to said RCU-protected data elements in said shared memory and register callbacks to be executed following a grace period in order to free stale data resulting from said updates;

    said RCU subsystem comprising two or more helper threads (helpers) that are created or selected as needed to track grace periods and execute said callbacks on behalf of said updaters instead of said updaters performing such work themselves;

    wherein said RCU subsystem comprises a grace period detection/callback processing component that is implemented by said two or more helper threads on behalf of said updaters; and

    wherein said grace period detection/callback processing component processes callbacks while they are pending, then either (1) polls for a specified time period to await new callbacks if a real-time updater is being serviced, or (2) sleeps to await awakening if a non-real-time updater is being serviced.

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