Re: [PATCH 2/2] mm/slab: break up RCU readers on SLAB_TYPESAFE_BY_RCU example code

From: Matthew Wilcox
Date: Fri Apr 14 2023 - 22:52:08 EST


On Sat, Apr 15, 2023 at 12:37:53AM +0000, SeongJae Park wrote:
> *
> + * begin:
> * rcu_read_lock();
> - * again:
> * obj = lockless_lookup(key);
> * if (obj) {
> * if (!try_get_ref(obj)) // might fail for free objects
> - * goto again;
> + * goto begin;
> *
> * if (obj->key != key) { // not the object we expected
> * put_ref(obj);
> + * rcu_read_unlock();
> * goto again;

- * goto again;
+ * goto begin;