Tag Archives: rcu

Stupid RCU Tricks: Torturing RCU Fundamentally, Part II

Further reading of the Linux-kernel Documentation/RCU/Design/Requirements/Requirements.rst file encounters RCU’s publish/subscribe guarantee. This guarantee ensures that RCU readers that traverse a newly inserted element of an RCU-protected data structure never see pre-initialization garbage in that element. In CONFIG_PREEMPT_NONE=y kernels, this guarantee … Continue reading

Posted in Uncategorized | Tagged , , , | Comments Off on Stupid RCU Tricks: Torturing RCU Fundamentally, Part II

Stupid RCU Tricks: Torturing RCU Fundamentally, Part I

A quick look at the beginning of the Documentation/RCU/Design/Requirements/Requirements.rst file in a recent Linux-kernel source tree might suggest that testing RCU’s fundamental requirements is Job One. And that suggestion would be quite correct. This post describes how rcutorture tests RCU’s … Continue reading

Posted in Uncategorized | Tagged , , , | Comments Off on Stupid RCU Tricks: Torturing RCU Fundamentally, Part I

Stupid RCU Tricks: Enlisting the Aid of a Debugger

Using Debuggers With rcutorture So rcutorture found a bug, you have figured out how to reproduce it, git bisect was unhelpful (perhaps because the bug has been around forever), and the bug happens to be one of those rare RCU … Continue reading

Posted in Uncategorized | Tagged , , , | Comments Off on Stupid RCU Tricks: Enlisting the Aid of a Debugger

Stupid RCU Tricks: Failure Probability and CPU Count

So rcutorture found a bug, whether in RCU or elsewhere, and it is now time to reproduce that bug, whether to make good use of git bisect or to verify an alleged fix. One problem is that, rcutorture being what … Continue reading

Posted in Uncategorized | Tagged , , , | Comments Off on Stupid RCU Tricks: Failure Probability and CPU Count

Stupid RCU Tricks: So rcutorture is Not Aggressive Enough For You?

So you read the previous post, but simply running rcutorture did not completely vent your frustration. What can you do? One thing you can do is to tweak a number of rcutorture settings to adjust the manner and type of … Continue reading

Posted in Uncategorized | Tagged , , , | Comments Off on Stupid RCU Tricks: So rcutorture is Not Aggressive Enough For You?

Stupid RCU Tricks: So you want to torture RCU?

Let’s face it, using synchronization primitives such as RCU can be frustrating. And it is only natural to wish to get back, somehow, at the source of such frustration. In short, it is quite understandable to want to torture RCU. … Continue reading

Posted in Uncategorized | Tagged , , , | Comments Off on Stupid RCU Tricks: So you want to torture RCU?

Book review: “Skin in the Game: Hidden Asymmetries in Daily Life”

“Antifragile” was the last volume in Nassim Taleb’s Incerto series, but it has lost that distinction with the publication of “Skin in the Game: Hidden Asymmetries in Daily Life”. This book covers a great many topics, but I will focus … Continue reading

Posted in Uncategorized | Tagged , | Comments Off on Book review: “Skin in the Game: Hidden Asymmetries in Daily Life”

Verification Challenge 7: Heavy Modifications to Linux-Kernel Tree RCU

There was a time when I felt that Linux-kernel RCU was too low-level to possibly be the subject of a security exploit, but Rowhammer put paid to that naive notion. And it finally happened earlier this year. Now, I could … Continue reading

Posted in Uncategorized | Tagged , , , , , , , | Comments Off on Verification Challenge 7: Heavy Modifications to Linux-Kernel Tree RCU

Verification Challenge 7: Heavy Modifications to Linux-Kernel Tree RCU

There was a time when I felt that Linux-kernel RCU was too low-level to possibly be the subject of a security exploit, but Rowhammer put paid to that naive notion. And it finally happened earlier this year. Now, I could … Continue reading

Posted in Uncategorized | Tagged , , , , , , , | Comments Off on Verification Challenge 7: Heavy Modifications to Linux-Kernel Tree RCU

Stupid RCU Tricks: Changes to -rcu Workflow

The -rcu tree also takes LKMM patches, and I have been handling these completely separately, with one branch for RCU and another for LKMM. But this can be a bit inconvenient, and more important, can delay my response to patches … Continue reading

Posted in Uncategorized | Tagged , , | Comments Off on Stupid RCU Tricks: Changes to -rcu Workflow