×

Expedited module unloading for kernel modules that execute read-copy update callback processing code

  • US 9,262,234 B2
  • Filed: 04/24/2012
  • Issued: 02/16/2016
  • Est. Priority Date: 12/10/2011
  • Status: Expired due to Fees
First Claim
Patent Images

1. In a computing system having one or more processors operatively coupled to one or more memory devices, a method for expediting unloading of an operating system kernel module that executes read-copy update (RCU) callback processing code, the method comprising:

  • performing regular periodic grace period detection processing to detect the end of grace periods in which each of said one or more processors has passed through a quiescent state;

    wherein said expediting unloading of the operating system kernel module further comprising;

    enqueuing an RCU callback to be processed by said kernel module'"'"'s callback processing code following completion of a grace period;

    performing an expediting operation that forces early completion of said grace period after it commences or expedites processing of said RCU callback;

    processing said RCU callback;

    unloading said kernel module;

    wherein said system is one of a uniprocessor system that runs a non-preemptible operating system kernel, a multiprocessor system that runs a non-preemptible operating system kernel, or a multiprocessor that runs a preemptible operating system kernel;

    wherein if said system is a uniprocessor system that runs a non-preemptible operating system kernel, said callback processing code runs in a deferred non-process context of said operating system kernel, and said expediting operation comprises invoking said deferred non-process context to force said callback processing code to execute;

    wherein if said system is a multiprocessor system that runs a non-preemptible operating system kernel, and said expediting operation comprises forcing each processor to note a new grace period and forcing a quiescent state on each processor, said forcing a quiescent state including implementing a rescheduling operation on each processor, and wherein said expediting operation is repeated until said RCU callback is processed; and

    wherein if said system is a multiprocessor system that runs a preemptible operating system kernel, and said expediting operation comprises forcing each processor to note a new grace period and forcing a quiescent state on each processor, said forcing a quiescent state including implementing a priority boost for blocked reader tasks that are preventing completion of said grace period.

View all claims
  • 0 Assignments
Timeline View
Assignment View
    ×
    ×