[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <A3581250-0876-42FC-9B3F-67F437CC16AC@kloenk.dev>
Date: Sun, 06 Oct 2024 12:45:06 +0200
From: Fiona Behrens <me@...enk.dev>
To: Andrew Lunn <andrew@...n.ch>
Cc: FUJITA Tomonori <fujita.tomonori@...il.com>, netdev@...r.kernel.org,
rust-for-linux@...r.kernel.org, hkallweit1@...il.com, tmgross@...ch.edu,
ojeda@...nel.org, alex.gaynor@...il.com, gary@...yguo.net,
bjorn3_gh@...tonmail.com, benno.lossin@...ton.me, a.hindborg@...sung.com,
aliceryhl@...gle.com, anna-maria@...utronix.de, frederic@...nel.org,
tglx@...utronix.de, arnd@...db.de, linux-kernel@...r.kernel.org
Subject: Re: [PATCH net-next v2 3/6] rust: time: Implement addition of Ktime
and Delta
On 5 Oct 2024, at 20:07, Andrew Lunn wrote:
> On Sat, Oct 05, 2024 at 09:25:28PM +0900, FUJITA Tomonori wrote:
>> Implement Add<Delta> for Ktime to support the operation:
>>
>> Ktime = Ktime + Delta
>>
>> This is used to calculate the future time when the timeout will occur.
>
> Since Delta can be negative, it could also be a passed time. For a
> timeout, that does not make much sense.
>
Are there more usecases than Delta? Would it make sense in that case to also implement Sub as well?
Thanks,
Fiona
>> +impl core::ops::Add<Delta> for Ktime {
>> + type Output = Ktime;
>> +
>> + #[inline]
>> + fn add(self, delta: Delta) -> Ktime {
>> + // SAFETY: FFI call.
>> + let t = unsafe { bindings::ktime_add_ns(self.inner, delta.as_nanos() as u64) };
>
> So you are throwing away the sign bit. What does Rust in the kernel do
> if it was a negative delta?
>
> I think the types being used here need more consideration.
>
> Andrew
Powered by blists - more mailing lists