Re: [PATCH] Change synchronize_rcu() in scsi_device_quiesce() into synchronize_sched()

Bart Van Assche
2018-03-19T16:57:45Z

On Mon, 2018-03-19 at 09:29 -0700, tj@kernel.org wrote:
> This could be me being slow but can you explain how what
> percpu_ref_tryget_live() uses internally affects whether we can use
> regular RCU around it?

Hello Tejun,

For synchronization primitives that wait having a stronger synchronization
primitive nested inside a more relaxed one can lead to a deadlock. But since
the rcu read lock primitives do not wait it could be safe to use that kind
of nesting with RCU. Do you perhaps know whether any documentation is
available about that kind of nesting or whether it is already used elsewhere
in the kernel?

Thanks,

Bart.