[<prev] [next>] [<thread-prev] [day] [month] [year] [list]
Message-ID: <04f71cbe-7521-460e-a104-9c2a6b80614e@gmail.com>
Date: Sun, 2 Mar 2025 17:56:21 +0100
From: Dirk Behme <dirk.behme@...il.com>
To: Lyude Paul <lyude@...hat.com>, rust-for-linux@...r.kernel.org,
Thomas Gleixner <tglx@...utronix.de>
Cc: Boqun Feng <boqun.feng@...il.com>, Miguel Ojeda <ojeda@...nel.org>,
Alex Gaynor <alex.gaynor@...il.com>, Gary Guo <gary@...yguo.net>,
Björn Roy Baron <bjorn3_gh@...tonmail.com>,
Benno Lossin <benno.lossin@...ton.me>,
Andreas Hindborg <a.hindborg@...nel.org>, Alice Ryhl <aliceryhl@...gle.com>,
Trevor Gross <tmgross@...ch.edu>, Danilo Krummrich <dakr@...nel.org>,
Wedson Almeida Filho <wedsonaf@...il.com>,
Christian Brauner <brauner@...nel.org>,
Greg Kroah-Hartman <gregkh@...uxfoundation.org>,
Xiangfei Ding <dingxiangfei2009@...il.com>,
open list <linux-kernel@...r.kernel.org>
Subject: Re: [PATCH v9 4/9] rust: Introduce interrupt module
On 27.02.25 23:10, Lyude Paul wrote:
> This introduces a module for dealing with interrupt-disabled contexts,
> including the ability to enable and disable interrupts along with the
> ability to annotate functions as expecting that IRQs are already
> disabled on the local CPU.
>
> [Boqun: This is based on Lyude's work on interrupt disable abstraction,
> I port to the new local_interrupt_disable() mechanism to make it work
> as a guard type. I cannot even take the credit of this design, since
> Lyude also brought up the same idea in zulip. Anyway, this is only for
> POC purpose, and of course all bugs are mine]
>
> Signed-off-by: Lyude Paul <lyude@...hat.com>
> Co-Developed-by: Boqun Feng <boqun.feng@...il.com>
> Signed-off-by: Boqun Feng <boqun.feng@...il.com>
> ---
> rust/helpers/helpers.c | 1 +
> rust/helpers/interrupt.c | 18 +++++++++
> rust/kernel/interrupt.rs | 83 ++++++++++++++++++++++++++++++++++++++++
> rust/kernel/lib.rs | 1 +
> 4 files changed, 103 insertions(+)
> create mode 100644 rust/helpers/interrupt.c
> create mode 100644 rust/kernel/interrupt.rs
>
....
> diff --git a/rust/kernel/interrupt.rs b/rust/kernel/interrupt.rs
> new file mode 100644
> index 0000000000000..c0a4b182fd9e7
> --- /dev/null
> +++ b/rust/kernel/interrupt.rs
> @@ -0,0 +1,83 @@
> +// SPDX-License-Identifier: GPL-2.0
> +
> +//! Interrupt controls
> +//!
> +//! This module allows Rust code to annotate areas of code where local processor interrupts should
> +//! be disabled, along with actually disabling local processor interrupts.
> +//!
> +//! # ⚠️ Warning! ⚠️
> +//!
> +//! The usage of this module can be more complicated then meets the eye, especially surrounding
Typo? then -> than?
Dirk
Powered by blists - more mailing lists