Re: [PATCH] rust: sync: add wait_interruptible_freezable
From: Peter Zijlstra
Date: Mon Feb 03 2025 - 06:54:33 EST
On Thu, Jan 30, 2025 at 11:30:44AM +0000, Alice Ryhl wrote:
> Binder allows you to freeze a process where some of its threads are
> blocked on the Binder driver. To make this work, we need to pass
> TASK_FREEZABLE when going to sleep in the appropriate places. Thus, add
> a new method wait_interruptible_freezable for the condition variable so
> that sleeps where this is supported can be marked as such.
The constraint on freezable is that you must not hold locks. There is a
lockdep check for this in the code, but it would probably make sense to
teach Rust about this constraint as well, hmm?