These examples assumed that a mutex was held across the entire update operation, which would mean that there could be at most two versions of the list active at a given time.
Quick Quiz 10.9: How would you modify the deletion example to permit more than two versions of the list to be active? End Quick Quiz
Quick Quiz 10.10: How many RCU versions of a given list can be active at any given time? End Quick Quiz
This sequence of events shows how RCU updates use multiple versions to safely carry out changes in presence of concurrent readers. Of course, some algorithms cannot gracefully handle multiple versions. There are techniques for adapting such algorithms to RCU [McK04], but these are beyond the scope of this section.