[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <87v7sywg30.fsf@kernel.org>
Date: Tue, 25 Feb 2025 10:04:19 +0100
From: Andreas Hindborg <a.hindborg@...nel.org>
To: "Lyude Paul" <lyude@...hat.com>
Cc: "Miguel Ojeda" <ojeda@...nel.org>, "Anna-Maria Behnsen"
<anna-maria@...utronix.de>, "Frederic Weisbecker" <frederic@...nel.org>,
"Thomas Gleixner" <tglx@...utronix.de>, "Danilo Krummrich"
<dakr@...nel.org>, "Alex Gaynor" <alex.gaynor@...il.com>, "Boqun Feng"
<boqun.feng@...il.com>, "Gary Guo" <gary@...yguo.net>, Björn Roy Baron
<bjorn3_gh@...tonmail.com>, "Benno Lossin" <benno.lossin@...ton.me>,
"Alice Ryhl" <aliceryhl@...gle.com>, "Trevor Gross" <tmgross@...ch.edu>,
"Guangbo Cui" <2407018371@...com>, "Dirk Behme" <dirk.behme@...il.com>,
"Daniel Almeida" <daniel.almeida@...labora.com>, "Tamir Duberstein"
<tamird@...il.com>, <rust-for-linux@...r.kernel.org>,
<linux-kernel@...r.kernel.org>
Subject: Re: [PATCH v9 11/13] rust: hrtimer: add `HrTimerMode`
"Lyude Paul" <lyude@...hat.com> writes:
> On Mon, 2025-02-24 at 13:03 +0100, Andreas Hindborg wrote:
>> +/// Operational mode of [`HrTimer`].
>> +#[derive(Clone, Copy)]
>
> PartialEq, Eq?
Sure, why not. I'm not sure if there is any negative side effects of
this? `Debug` too?
>
>> +pub enum HrTimerMode {
>> + /// Timer expires at the given expiration time.
>> + Absolute,
>> + /// Timer expires after the given expiration time interpreted as a duration from now.
>> + Relative,
>> + /// Timer does not move between CPU cores.
>> + Pinned,
>> + /// Timer handler is executed in soft irq context.
>> + Soft,
>> + /// Timer handler is executed in hard irq context.
>> + Hard,
>> + /// Timer expires at the given expiration time.
>> + /// Timer does not move between CPU cores.
>> + AbsolutePinned,
>> + /// Timer expires after the given expiration time interpreted as a duration from now.
>> + /// Timer does not move between CPU cores.
>> + RelativePinned,
>> + /// Timer expires at the given expiration time.
>> + /// Timer handler is executed in soft irq context.
>> + AbsoluteSoft,
>> + /// Timer expires after the given expiration time interpreted as a duration from now.
>> + /// Timer handler is executed in soft irq context.
>> + RelativeSoft,
>> + /// Timer expires at the given expiration time.
>> + /// Timer does not move between CPU cores.
>> + /// Timer handler is executed in soft irq context.
>> + AbsolutePinnedSoft,
>> + /// Timer expires after the given expiration time interpreted as a duration from now.
>> + /// Timer does not move between CPU cores.
>> + /// Timer handler is executed in soft irq context.
>> + RelativePinnedSoft,
>> + /// Timer expires at the given expiration time.
>> + /// Timer handler is executed in hard irq context.
>> + AbsoluteHard,
>> + /// Timer expires after the given expiration time interpreted as a duration from now.
>> + /// Timer handler is executed in hard irq context.
>> + RelativeHard,
>> + /// Timer expires at the given expiration time.
>> + /// Timer does not move between CPU cores.
>> + /// Timer handler is executed in hard irq context.
>> + AbsolutePinnedHard,
>> + /// Timer expires after the given expiration time interpreted as a duration from now.
>> + /// Timer does not move between CPU cores.
>> + /// Timer handler is executed in hard irq context.
>> + RelativePinnedHard,
>> +}
>
> Besides the question I had earlier about how we represent enums like this
> (e.g. using repr(u32) and using discriminants):
I'll await your response in the other thread
>
> Reviewed-by: Lyude Paul <lyude@...hat.com>
>
Best regards,
Andreas Hindborg
Powered by blists - more mailing lists