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

a module and module technology, applied in the field of computer systems and other directions, can solve the problems of rcu_barrier( ) primitives that can delay module unloading, read-side lock acquisition would be quite burdensome, and require more read-side overhead

Inactive Publication Date: 2016-02-09
IBM CORP
View PDF49 Cites 23 Cited by
  • Summary
  • Abstract
  • Description
  • Claims
  • Application Information

AI Technical Summary

Problems solved by technology

By way of example, a network routing table that is updated at most once every few minutes but searched many thousands of times per second is a case where read-side lock acquisition would be quite burdensome.
Other techniques for tracking blocked readers may also be used, but tend to require more read-side overhead than the current blocked task list method.
If the module containing the callback function code is unloaded before a pending callback that requires such code can be invoked, problems will arise when an attempt is made to implement the callback function because its code is no longer part of the running kernel.
Unfortunately, the rcu_barrier( ) primitive can delay module unloading due to the latency associated with waiting for the end of a current RCU grace period and for all prior RCU callbacks to be invoked.

Method used

the structure of the environmentally friendly knitted fabric provided by the present invention; figure 2 Flow chart of the yarn wrapping machine for environmentally friendly knitted fabrics and storage devices; image 3 Is the parameter map of the yarn covering machine
View more

Image

Smart Image Click on the blue labels to locate them in the text.
Viewing Examples
Smart Image
  • Expedited module unloading for kernel modules that execute read-copy update callback processing code
  • Expedited module unloading for kernel modules that execute read-copy update callback processing code
  • Expedited module unloading for kernel modules that execute read-copy update callback processing code

Examples

Experimental program
Comparison scheme
Effect test

Embodiment Construction

[0038]Turning now to the figures, wherein like reference numerals represent like elements in all of the several views, FIGS. 4 and 5 respectively illustrate example uniprocessor and multiprocessor computing environments in which the expedited module unloading technique disclosed herein may be implemented. In FIG. 4, a uniprocessor computing system 2 includes a single processor 4, a system bus 6 (or other interconnection pathway) and a program memory 8. A conventional cache memory 10 and a cache controller 12 are associated with the processor 4. A conventional memory controller 14 is associated with the memory 8. As shown, the memory controller 14 may reside separately from processor 4 (e.g., as part of a chipset). Alternatively, the memory controller 14 could be integrated with the processor 4 (as is known in the art). In FIG. 5, a multiprocessor computing system 2A includes multiple processors 41, 42 . . . 4n, a system bus 6, and a program memory 8. There are also cache memories 10...

the structure of the environmentally friendly knitted fabric provided by the present invention; figure 2 Flow chart of the yarn wrapping machine for environmentally friendly knitted fabrics and storage devices; image 3 Is the parameter map of the yarn covering machine
Login to view more

PUM

No PUM Login to view more

Abstract

A technique for expediting the unloading of an operating system kernel module that executes read-copy update (RCU) callback processing code in a computing system having one or more processors. According to embodiments of the disclosed technique, an RCU callback is enqueued so that it can be processed by the kernel module's callback processing code following completion of a grace period in which each of the one or more processors has passed through a quiescent state. An expediting operation is performed to expedite processing of the RCU callback. The RCU callback is then processed and the kernel module is unloaded.

Description

BACKGROUND[0001]1. Field[0002]The present disclosure relates to computer systems and methods in which data resources are shared among data consumers while preserving data integrity and consistency relative to each consumer. More particularly, the disclosure concerns an implementation of a mutual exclusion mechanism known as “read-copy update” in a computing environment wherein loadable modules contain code that is used to process read-copy update callbacks.[0003]2. Description of the Prior Art[0004]By way of background, read-copy update (also known as “RCU”) is a mutual exclusion technique that permits shared data to be accessed for reading without the use of locks, writes to shared memory, memory barriers, atomic instructions, or other computationally expensive synchronization mechanisms, while still permitting the data to be updated (modify, delete, insert, etc.) concurrently. The technique is well suited to both uniprocessor and multiprocessor computing environments wherein the n...

Claims

the structure of the environmentally friendly knitted fabric provided by the present invention; figure 2 Flow chart of the yarn wrapping machine for environmentally friendly knitted fabrics and storage devices; image 3 Is the parameter map of the yarn covering machine
Login to view more

Application Information

Patent Timeline
no application Login to view more
Patent Type & Authority Patents(United States)
IPC IPC(8): G06F9/46G06F7/00G06F9/52
CPCG06F9/522G06F2209/521
Inventor MCKENNEY, PAUL, E.
Owner IBM CORP
Who we serve
  • R&D Engineer
  • R&D Manager
  • IP Professional
Why Eureka
  • Industry Leading Data Capabilities
  • Powerful AI technology
  • Patent DNA Extraction
Social media
Try Eureka
PatSnap group products