KRN-231 · Linux Kernel Core · Advanced

RCU in Depth — full syllabus

Read-copy-update from first principles: grace periods, publish-subscribe, and why RCU is everywhere in the kernel.

Duration3 full days in person · 6 half-days online
Cohortmax 14 in person · 20 online
Pricefrom SAR 9,000 in person · local pricing per city
Delivery35% principles · 20% guided investigation · 45% engineering studio

Who this course is for

Kernel developers maintaining read-mostly concurrent data structures who need RCU used correctly — reasoned from the contract, not cargo-culted from an example.

Prerequisites

Course outline

Day 1 — The RCU contract

  • What RCU guarantees and what it does not
  • Read-side critical sections and their rules
  • Grace periods and quiescent states, conceptually
  • Why RCU is everywhere in the kernel
  • The cost model: when RCU wins and when it loses

Day 2 — Using it correctly

  • rcu_read_lock/rcu_read_unlock and nesting
  • rcu_dereference, rcu_assign_pointer and why the accessors exist
  • Publish-subscribe for adding and removing data
  • List RCU primitives: list_for_each_entry_rcu, list_add_rcu, list_del_rcu
  • call_rcu and kfree_rcu: callback processing and its cost

Day 3 — Variants and debugging

  • Preemptible RCU and what it changed
  • SRCU for sleeping readers and its trade-offs
  • RCU in the PREEMPT_RT kernel
  • Debugging RCU stalls and CPU stall warnings
  • Capstone workshop

Hands-on labs

  1. Lab: protect a shared list first with a rwlock, then with RCU, and compare read-side latency under contention
  2. Lab: publish and remove elements with the correct accessors and verify readers never observe torn data
  3. Lab: trigger an RCU CPU stall warning deliberately and decode the report
  4. Lab: convert a sleeping-reader path to SRCU and measure the trade-off
  5. Lab: stress an RCU data structure with concurrent readers and writers and prove grace-period correctness

Capstone project

Implement and defend an RCU-protected lookup structure in a module: correct accessor discipline throughout, a publish/remove path safe against concurrent readers, stall-free behaviour under a torture run, and a written explanation of where each guarantee comes from — the same argument you would make in a patch cover letter.

What you leave with

Upcoming dates

DatesWhereSeatsEarly birdRegular
8 Nov – 10 Nov 20263 full days RiyadhIn person · KAFD Conference Centre 7 of 14 SAR 8,100until 9 OctSAR 9,000
8 Nov – 10 Nov 20263 full days Kuwait CityIn person · Al Hamra Tower 12 of 14 KWD 670until 9 OctKWD 740
15 Nov – 17 Nov 20263 full days MuscatIn person · Knowledge Oasis Muscat 7 of 14 OMR 830until 16 OctOMR 920
22 Nov – 29 Nov 20266 half-days Gulf bandLive online · 09:00–13:00 GMT+3 13 of 20 US$1,580until 23 OctUS$1,750
23 Nov – 25 Nov 20263 full days OttawaIn person · Kanata North Tech Park 12 of 14 CAD 2,930until 24 OctCAD 3,260
23 Nov – 25 Nov 20263 full days TorontoIn person · MaRS Discovery District 7 of 14 CAD 2,930until 24 OctCAD 3,260
23 Nov – 30 Nov 20266 half-days Europe bandLive online · 09:00–13:00 CET 18 of 20 US$1,580until 24 OctUS$1,750
30 Nov – 2 Dec 20263 full days LondonIn person · Shoreditch Works 12 of 14 GBP 1,680until 31 OctGBP 1,870
30 Nov – 7 Dec 20266 half-days Americas bandLive online · 13:00–17:00 ET 7 of 20 US$1,580until 31 OctUS$1,750
7 Dec – 9 Dec 20263 full days BerlinIn person · Factory Görlitzer Park 7 of 14 EUR 1,990until 7 NovEUR 2,210

Book a seat, or bring this course to your team

Seats can be reserved online; private delivery runs on-site or live online, adapted to your stack.

Course page & booking

Questions about fit or prerequisites? Email hello@kernelsystems.academy. To save this syllabus, print this page to PDF from your browser.