Re: [PATCH v6 0/3] rust: Add irq abstraction, SpinLockIrq

From: Thomas Gleixner
Date: Sun Oct 13 2024 - 15:06:15 EST


On Sat, Oct 12 2024 at 07:29, Dirk Behme wrote:

> Hi Lyude,
>
> On 16.09.24 23:28, Lyude Paul wrote:
>> This adds a simple interface for disabling and enabling CPUs, along with
>> the ability to mark a function as expecting interrupts be disabled -
>> along with adding bindings for spin_lock_irqsave/spin_lock_irqrestore().
>>
>> Current example usecase (very much WIP driver) in rvkms:
>>
>> https://gitlab.freedesktop.org/lyudess/linux/-/commits/rvkms-example-08012024
>>
>> specifically drivers/gpu/drm/rvkms/crtc.rs
>>
>> This series depends on
>> https://lore.kernel.org/rust-for-linux/ZuKNszXSw-LbgW1e@boqun-archlinux/
>>
>> Lyude Paul (3):
>> rust: Introduce irq module
>> rust: sync: Introduce lock::Backend::Context
>> rust: sync: Add SpinLockIrq
>
>
> To have it in this thread as well I just want to mention the discussion in
>
> https://lore.kernel.org/rust-for-linux/87a5falmjy.fsf@xxxxxxxxxx/
>
> which results in the impression that this patch series needs to update
> `CondVar::wait` to support waiting with irq disabled.

What means waiting with interrupts disabled?

Spinning? Why would you want to do that in the first place?

There are not a lot of use cases to do so, except for core code.

Thanks,

tglx