1

コードは次のとおりです。

 static inline void __list_add_rcu(struct list_head * new,
                  struct list_head * prev, struct list_head * next)
  {
          new->next = next;
          new->prev = prev;
          smp_wmb();
          next->prev = new;
          prev->next = new;
  }

 #define smp_wmb()       wmb()

 #ifdef CONFIG_UNORDERED_IO
 #define wmb()   asm volatile("sfence" ::: "memory")
 #else
 #define wmb()   asm volatile("" ::: "memory")

smp_wmb() の関数は、コンパイラによるwikiからの命令の並べ替えを防ぐことができることを知っています。
しかし、CPU による並べ替えを防止する RCU の方法は何ですか?

4

0 に答える 0