From: Miguel Ojeda <miguel.ojeda.sandonis@gmail.com>
To: Andrew Lunn <andrew@lunn.ch>
Cc: FUJITA Tomonori <fujita.tomonori@gmail.com>,
netdev@vger.kernel.org, rust-for-linux@vger.kernel.org,
hkallweit1@gmail.com, tmgross@umich.edu, ojeda@kernel.org,
alex.gaynor@gmail.com, gary@garyguo.net,
bjorn3_gh@protonmail.com, benno.lossin@proton.me,
a.hindborg@samsung.com, aliceryhl@google.com,
anna-maria@linutronix.de, frederic@kernel.org,
tglx@linutronix.de, arnd@arndb.de, jstultz@google.com,
sboyd@kernel.org, linux-kernel@vger.kernel.org
Subject: Re: [PATCH net-next v3 2/8] rust: time: Introduce Delta type
Date: Sat, 19 Oct 2024 14:21:45 +0200 [thread overview]
Message-ID: <CANiq72nV2+9cWd1pjjpfr_oG_mQQuwkLaoya9p5uJ4qJ2wS_mw@mail.gmail.com> (raw)
In-Reply-To: <940d2002-650e-4e56-bc12-1aac2031e827@lunn.ch>
On Fri, Oct 18, 2024 at 6:55 PM Andrew Lunn <andrew@lunn.ch> wrote:
>
> Did you see my other comment, about not actually using these helpers?
> I _guess_ it was not used because it does not in fact round up. So at
> least for this patchset, the helpers are useless. Should we be adding
> useless helpers? Or should we be adding useful helpers? Maybe these
> helpers need a different name, and do actually round up?
Yeah, I saw that -- if I understand you correctly, you were asking why
`as_nanos()` is used and not `as_secs()` directly (did you mean
`as_micros()`?) by adding rounding on `Delta`'s `as_*()` methods.
So my point here was that a method with a name like `as_*()` has
nothing to do with rounding, so I wouldn't add rounding here (it would
be misleading).
Now, we can of course have rounding methods in `Delta` for convenience
if that is something commonly needed by `Delta`'s consumers like
`fsleep()`, that is fine, but those would need to be called
differently, e.g. `to_micros_ceil`: `to_` since it is not "free"
(following e.g. `to_radians`) and + `_ceil` to follow `div_ceil` from
the `int_roundings` feature (and shorter than something like
`_rounded_up`).
In other words, I think you see these small `as_*()` functions as
"helpers" to do something else, and thus why you say we should provide
those that we need (only) and make them do what we need (the
rounding). That is fair.
However, another way of viewing these is as typical conversion methods
of `Delta`, i.e. the very basic interface for a type like this. Thus
Tomonori implemented the very basic interface, and since there was no
rounding, then he added it in `fsleep()`.
I agree having rounding methods here could be useful, but I am
ambivalent as to whether following the "no unused code" rule that far
as to remove very basic APIs for a type like this.
Cheers,
Miguel
next prev parent reply other threads:[~2024-10-19 12:21 UTC|newest]
Thread overview: 64+ messages / expand[flat|nested] mbox.gz Atom feed top
2024-10-16 3:52 [PATCH net-next v3 0/8] rust: Add IO polling FUJITA Tomonori
2024-10-16 3:52 ` [PATCH net-next v3 1/8] rust: time: Add PartialEq/Eq/PartialOrd/Ord trait to Ktime FUJITA Tomonori
2024-10-16 8:22 ` Alice Ryhl
2024-10-16 3:52 ` [PATCH net-next v3 2/8] rust: time: Introduce Delta type FUJITA Tomonori
2024-10-16 8:23 ` Alice Ryhl
2024-10-17 11:15 ` FUJITA Tomonori
2024-10-17 10:17 ` Fiona Behrens
2024-10-17 11:24 ` FUJITA Tomonori
2024-10-18 13:49 ` Andrew Lunn
2024-10-18 14:31 ` Miguel Ojeda
2024-10-18 16:55 ` Andrew Lunn
2024-10-19 12:21 ` Miguel Ojeda [this message]
2024-10-19 12:41 ` Miguel Ojeda
2024-10-23 11:53 ` FUJITA Tomonori
2024-10-23 13:09 ` Miguel Ojeda
2024-10-19 18:41 ` Andrew Lunn
2024-10-20 13:05 ` Miguel Ojeda
2024-10-23 12:19 ` FUJITA Tomonori
2024-10-16 3:52 ` [PATCH net-next v3 3/8] rust: time: Change output of Ktime's sub operation to Delta FUJITA Tomonori
2024-10-16 8:25 ` Alice Ryhl
2024-10-16 19:47 ` Boqun Feng
2024-10-17 7:10 ` FUJITA Tomonori
2024-10-17 8:22 ` Alice Ryhl
2024-10-17 16:45 ` Miguel Ojeda
2024-10-23 1:58 ` FUJITA Tomonori
2024-10-16 20:03 ` Boqun Feng
2024-10-17 9:17 ` FUJITA Tomonori
2024-10-16 3:52 ` [PATCH net-next v3 4/8] rust: time: Implement addition of Ktime and Delta FUJITA Tomonori
2024-10-16 8:25 ` Alice Ryhl
2024-10-16 19:54 ` Boqun Feng
2024-10-17 9:31 ` FUJITA Tomonori
2024-10-17 9:33 ` Alice Ryhl
2024-10-17 16:33 ` Miguel Ojeda
2024-10-17 17:03 ` Boqun Feng
2024-10-17 18:10 ` Miguel Ojeda
2024-10-17 19:02 ` Boqun Feng
2024-10-17 18:58 ` Miguel Ojeda
2024-10-25 20:47 ` Boqun Feng
2024-10-23 6:51 ` FUJITA Tomonori
2024-10-23 10:59 ` Miguel Ojeda
2024-10-23 11:24 ` FUJITA Tomonori
2024-10-16 3:52 ` [PATCH net-next v3 5/8] rust: time: Add wrapper for fsleep function FUJITA Tomonori
2024-10-16 8:29 ` Alice Ryhl
2024-10-16 9:42 ` Miguel Ojeda
2024-10-24 0:22 ` FUJITA Tomonori
2024-10-24 17:26 ` Miguel Ojeda
2024-10-23 12:33 ` FUJITA Tomonori
2024-10-18 14:05 ` Andrew Lunn
2024-10-16 3:52 ` [PATCH net-next v3 6/8] MAINTAINERS: rust: Add TIMEKEEPING and TIMER abstractions FUJITA Tomonori
2024-10-16 3:52 ` [PATCH net-next v3 7/8] rust: Add read_poll_timeout functions FUJITA Tomonori
2024-10-16 8:37 ` Alice Ryhl
2024-10-18 14:16 ` FUJITA Tomonori
2024-10-16 8:45 ` Alice Ryhl
2024-10-16 8:52 ` Alice Ryhl
2024-10-16 11:05 ` Miguel Ojeda
2024-10-18 8:10 ` FUJITA Tomonori
2024-10-18 8:30 ` Alice Ryhl
2024-10-18 14:15 ` Andrew Lunn
2024-10-18 14:38 ` Miguel Ojeda
2024-10-18 14:21 ` Andrew Lunn
2024-10-16 3:52 ` [PATCH net-next v3 8/8] net: phy: qt2025: Wait until PHY becomes ready FUJITA Tomonori
2024-10-16 12:00 ` Alice Ryhl
2024-10-18 14:26 ` [PATCH net-next v3 0/8] rust: Add IO polling Andrew Lunn
2024-10-23 4:01 ` FUJITA Tomonori
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=CANiq72nV2+9cWd1pjjpfr_oG_mQQuwkLaoya9p5uJ4qJ2wS_mw@mail.gmail.com \
--to=miguel.ojeda.sandonis@gmail.com \
--cc=a.hindborg@samsung.com \
--cc=alex.gaynor@gmail.com \
--cc=aliceryhl@google.com \
--cc=andrew@lunn.ch \
--cc=anna-maria@linutronix.de \
--cc=arnd@arndb.de \
--cc=benno.lossin@proton.me \
--cc=bjorn3_gh@protonmail.com \
--cc=frederic@kernel.org \
--cc=fujita.tomonori@gmail.com \
--cc=gary@garyguo.net \
--cc=hkallweit1@gmail.com \
--cc=jstultz@google.com \
--cc=linux-kernel@vger.kernel.org \
--cc=netdev@vger.kernel.org \
--cc=ojeda@kernel.org \
--cc=rust-for-linux@vger.kernel.org \
--cc=sboyd@kernel.org \
--cc=tglx@linutronix.de \
--cc=tmgross@umich.edu \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).