image/svg+xml
        
        
      
    
  
  
        
      synchronize_rcu()
      
        
        
        
      
    
    WRITE_ONCE(a, 1);
    WRITE_ONCE(b, 1);
    r1 = READ_ONCE(a);
    WRITE_ONCE(c, 1);
    r2 = READ_ONCE(b);
    r3 = READ_ONCE(c);
    thread0()
    thread1()
    thread2()
    
    
    
    rcu_read_lock();
    rcu_read_lock();
    rcu_read_unlock();
    rcu_read_unlock();
    
    QS
    
    QS
    
    
    QS