Message ID | 20221223142307.1614945-2-xuchuangxclwt@bytedance.com (mailing list archive) |
---|---|
State | New, archived |
Headers | show |
Series | migration: reduce time of loading non-iterable vmstate | expand |
Chuang Xu <xuchuangxclwt@bytedance.com> writes: > add rcu_read_locked() to detect holding of rcu lock. > > Signed-off-by: Chuang Xu <xuchuangxclwt@bytedance.com> > --- > include/qemu/rcu.h | 7 +++++++ > 1 file changed, 7 insertions(+) > > diff --git a/include/qemu/rcu.h b/include/qemu/rcu.h > index b063c6fde8..42cbd0080f 100644 > --- a/include/qemu/rcu.h > +++ b/include/qemu/rcu.h > @@ -119,6 +119,13 @@ static inline void rcu_read_unlock(void) > } > } > > +static inline bool rcu_read_locked(void) We use the locked suffix to indicate functions that should be called with a lock held. Perhaps renaming this to rcu_read_is_locked() would make the intent of the function clearer? > +{ > + struct rcu_reader_data *p_rcu_reader = get_ptr_rcu_reader(); > + > + return p_rcu_reader->depth > 0; > +} > + > extern void synchronize_rcu(void); > > /*
On 2023/1/4 下午10:20, Alex Bennée wrote: > Chuang Xu writes: > >> add rcu_read_locked() to detect holding of rcu lock. >> >> Signed-off-by: Chuang Xu >> --- >> include/qemu/rcu.h | 7 +++++++ >> 1 file changed, 7 insertions(+) >> >> diff --git a/include/qemu/rcu.h b/include/qemu/rcu.h >> index b063c6fde8..42cbd0080f 100644 >> --- a/include/qemu/rcu.h >> +++ b/include/qemu/rcu.h >> @@ -119,6 +119,13 @@ static inline void rcu_read_unlock(void) >> } >> } >> >> +static inline bool rcu_read_locked(void) > We use the locked suffix to indicate functions that should be called > with a lock held. Perhaps renaming this to rcu_read_is_locked() would > make the intent of the function clearer? Yes, rcu_read_is_locked() do make the intent of the function clearer. I'll rename the function in v5. Thanks! >> +{ >> + struct rcu_reader_data *p_rcu_reader = get_ptr_rcu_reader(); >> + >> + return p_rcu_reader->depth > 0; >> +} >> + >> extern void synchronize_rcu(void); >> >> /* >
diff --git a/include/qemu/rcu.h b/include/qemu/rcu.h index b063c6fde8..42cbd0080f 100644 --- a/include/qemu/rcu.h +++ b/include/qemu/rcu.h @@ -119,6 +119,13 @@ static inline void rcu_read_unlock(void) } } +static inline bool rcu_read_locked(void) +{ + struct rcu_reader_data *p_rcu_reader = get_ptr_rcu_reader(); + + return p_rcu_reader->depth > 0; +} + extern void synchronize_rcu(void); /*
add rcu_read_locked() to detect holding of rcu lock. Signed-off-by: Chuang Xu <xuchuangxclwt@bytedance.com> --- include/qemu/rcu.h | 7 +++++++ 1 file changed, 7 insertions(+)