Re: regression 4.4: deadlock in with cgroup percpu_rwsem

From: Tejun Heo
Date: Mon Jan 25 2016 - 14:38:47 EST

Hello, Christoph.

On Mon, Jan 25, 2016 at 09:49:42AM +0100, Christoph Hellwig wrote:
> FYI, my use case was also related to percpu-ref. The percpu ref API
> is unfortunately really hard to use and will almost always involve
> a work queue due to the complex interaction between percpu_ref_kill
> and percpu_ref_exit. One thing that would help a lot of callers would

That's interesting. Can you please elaborate on how kill and exit
interact to make things complex?

> be a percpu_ref_exit_sync that kills the ref and waits for all references
> to go away synchronously.

That shouldn't be difficult to implement. One minor concern is that
it's almost guaranteed that there will be cases where the
synchronicity is exposed to userland. Anyways, can you please
describe the use case?