Modifications to Linux-kernel RCU implemenations to support small-memory systems

Registered by Paul McKenney

The Linux kernel provided three major implementations of RCU: (1) TREE_RCU, which provides high scalability for server-class workloads, (2) TREE_PREEMPT_RCU, which provides (almost as) high scalability for real-time workloads, and (3) TINY_RCU, which provides small memory footprint for server-class workloads, incidentally providing extremely fast grace periods. However, if someone wants a small-memory-footprint RCU for real-time workloads, they are stuck with the memory-hoggy TREE_PREEMPT_RCU version. This blueprint therefore introduces a TINY_PREEMPT_RCU, which will fill this gap.

Blueprint information

Status:
Complete
Approver:
Loïc Minier
Priority:
Medium
Drafter:
Paul McKenney
Direction:
Needs approval
Assignee:
Paul McKenney
Definition:
Approved
Series goal:
None
Implementation:
Implemented
Milestone target:
None
Started by
Paul McKenney
Completed by
Paul McKenney

Related branches

Sprints

Whiteboard

Workitems:
Design compact and simple mechanism for tracking tasks blocked in RCU read-side critical section: DONE
Create specification/design document: DONE
Code to compile cleanly: DONE
Update test cases and scripts: DONE
Testing: DONE
Post first version: DONE
Community documentation (e.g., LWN article): DEFERRED
See linaro-octo-rcudocumentation spec for status and progress on LWN article.

Status:
Slated for 2.6.37; recorded by LWN http://lwn.net/Articles/396181/, now in Ingo Molnar's -tip tree

(?)

Work Items

This blueprint contains Public information 
Everyone can see this information.

Subscribers

No subscribers.