--- /dev/null
+
+#define NR_READERS 2
+#define NR_WRITERS 1
+
+#define NR_PROCS 3
+
+
+#if (NR_READERS == 1)
+
+#define read_free_race (read_generation[0] == last_free_gen)
+#define read_free (free_done && data_access[0])
+
+#elif (NR_READERS == 2)
+
+#define read_free_race (read_generation[0] == last_free_gen || read_generation[1] == last_free_gen)
+#define read_free (free_done && (data_access[0] || data_access[1]))
+
+#else
+
+#error "Too many readers"
+
+#endif
+
+#define RCU_GP_CTR_BIT (1 << 7)
+#define RCU_GP_CTR_NEST_MASK (RCU_GP_CTR_BIT - 1)
+
+#ifndef READER_NEST_LEVEL
+#define READER_NEST_LEVEL 2
+#endif
+
+#define REMOTE_BARRIERS