All of lore.kernel.org
 help / color / mirror / Atom feed
From: Gary Guo <gary@garyguo.net>
To: FUJITA Tomonori <fujita.tomonori@gmail.com>
Cc: aliceryhl@google.com, linux-kernel@vger.kernel.org,
	boqun.feng@gmail.com, rust-for-linux@vger.kernel.org,
	netdev@vger.kernel.org, andrew@lunn.ch, hkallweit1@gmail.com,
	tmgross@umich.edu, ojeda@kernel.org, alex.gaynor@gmail.com,
	bjorn3_gh@protonmail.com, benno.lossin@proton.me,
	a.hindborg@samsung.com, anna-maria@linutronix.de,
	frederic@kernel.org, tglx@linutronix.de, arnd@arndb.de,
	jstultz@google.com, sboyd@kernel.org, mingo@redhat.com,
	peterz@infradead.org, juri.lelli@redhat.com,
	vincent.guittot@linaro.org, dietmar.eggemann@arm.com,
	rostedt@goodmis.org, bsegall@google.com, mgorman@suse.de,
	vschneid@redhat.com
Subject: Re: [PATCH v8 3/7] rust: time: Introduce Instant type
Date: Wed, 22 Jan 2025 16:58:37 +0000	[thread overview]
Message-ID: <20250122165837.787867ba.gary@garyguo.net> (raw)
In-Reply-To: <20250122.224635.1710391280729820874.fujita.tomonori@gmail.com>

On Wed, 22 Jan 2025 22:46:35 +0900 (JST)
FUJITA Tomonori <fujita.tomonori@gmail.com> wrote:

> On Wed, 22 Jan 2025 13:51:21 +0100
> Alice Ryhl <aliceryhl@google.com> wrote:
> 
> > On Wed, Jan 22, 2025 at 1:49 PM FUJITA Tomonori
> > <fujita.tomonori@gmail.com> wrote:  
> >>
> >> On Thu, 16 Jan 2025 21:06:44 +0900 (JST)
> >> FUJITA Tomonori <fujita.tomonori@gmail.com> wrote:
> >>  
> >> > On Thu, 16 Jan 2025 10:32:45 +0100
> >> > Alice Ryhl <aliceryhl@google.com> wrote:
> >> >  
> >> >>> -impl Ktime {
> >> >>> -    /// Create a `Ktime` from a raw `ktime_t`.
> >> >>> +impl Instant {
> >> >>> +    /// Create a `Instant` from a raw `ktime_t`.
> >> >>>      #[inline]
> >> >>> -    pub fn from_raw(inner: bindings::ktime_t) -> Self {
> >> >>> +    fn from_raw(inner: bindings::ktime_t) -> Self {
> >> >>>          Self { inner }
> >> >>>      }  
> >> >>
> >> >> Please keep this function public.  
> >> >
> >> > Surely, your driver uses from_raw()?  
> >>
> >> I checked out the C version of Binder driver and it doesn't seem like
> >> the driver needs from_raw function. The Rust version [1] also doesn't
> >> seem to need the function. Do you have a different use case?  
> > 
> > Not for this particular function, but I've changed functions called
> > from_raw and similar from private to public so many times at this
> > point that I think it should be the default.  
> 
> Then can we remove from_raw()?
> 
> We don't use Instant to represent both a specific point in time and a
> span of time (we add Delta) so a device driver don't need to create an
> Instant from an arbitrary value, I think.
> 
> If we allow a device driver to create Instant via from_raw(), we need
> to validate a value from the driver. If we create ktime_t only via
> ktime_get(), we don't need the details of ktime like a valid range of
> ktime_t.

Yeah, I agree on this. If we specify the range 0..KTIME_MAX as
invariant then this either has to check or has to be unsafe. I don't
think that's worth adding unless there's a concrete need for it.

Best,
Gary

  reply	other threads:[~2025-01-22 16:58 UTC|newest]

Thread overview: 64+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2025-01-16  4:40 [PATCH v8 0/7] rust: Add IO polling FUJITA Tomonori
2025-01-16  4:40 ` [PATCH v8 1/7] rust: time: Add PartialEq/Eq/PartialOrd/Ord trait to Ktime FUJITA Tomonori
2025-01-22 18:38   ` Gary Guo
2025-01-16  4:40 ` [PATCH v8 2/7] rust: time: Introduce Delta type FUJITA Tomonori
2025-01-16  9:36   ` Alice Ryhl
2025-01-16 12:00     ` FUJITA Tomonori
2025-01-16 12:43       ` Miguel Ojeda
2025-01-16 12:43   ` Miguel Ojeda
2025-01-17  0:29     ` FUJITA Tomonori
2025-01-18 12:19   ` Miguel Ojeda
2025-01-22  7:37     ` FUJITA Tomonori
2025-01-22  8:57       ` Miguel Ojeda
2025-01-16  4:40 ` [PATCH v8 3/7] rust: time: Introduce Instant type FUJITA Tomonori
2025-01-16  9:32   ` Alice Ryhl
2025-01-16 12:06     ` FUJITA Tomonori
2025-01-22 12:49       ` FUJITA Tomonori
2025-01-22 12:51         ` Alice Ryhl
2025-01-22 13:46           ` FUJITA Tomonori
2025-01-22 16:58             ` Gary Guo [this message]
2025-01-16 12:37   ` Miguel Ojeda
2025-01-16 23:31     ` FUJITA Tomonori
2025-01-18 12:15       ` Miguel Ojeda
2025-01-24  1:50         ` FUJITA Tomonori
     [not found]   ` <CAKdorCq9R-Agco1LwfRdbRGaK5gkQebb2ks_4sHf2SBCw8PmbA@mail.gmail.com>
2025-01-16 23:17     ` FUJITA Tomonori
2025-01-16  4:40 ` [PATCH v8 4/7] rust: time: Add wrapper for fsleep function FUJITA Tomonori
2025-01-16  9:27   ` Alice Ryhl
2025-01-17  7:53     ` FUJITA Tomonori
2025-01-17  9:01       ` FUJITA Tomonori
2025-01-17  9:13         ` Alice Ryhl
2025-01-17  9:55           ` FUJITA Tomonori
2025-01-17 13:05             ` Alice Ryhl
2025-01-17 14:20               ` FUJITA Tomonori
2025-01-17 14:31                 ` Alice Ryhl
2025-01-18  7:57                   ` FUJITA Tomonori
2025-01-17 18:59   ` Miguel Ojeda
2025-01-18  8:02     ` FUJITA Tomonori
2025-01-18 12:17       ` Miguel Ojeda
2025-01-22  6:57         ` FUJITA Tomonori
2025-01-22  8:23           ` Alice Ryhl
2025-01-22 10:44             ` FUJITA Tomonori
2025-01-22 10:47               ` Alice Ryhl
2025-01-22 11:27                 ` FUJITA Tomonori
2025-01-23  7:03               ` Boqun Feng
2025-01-23  8:40                 ` FUJITA Tomonori
2025-01-23 11:03                   ` Miguel Ojeda
2025-01-22 10:21           ` Miguel Ojeda
2025-01-23  1:04             ` FUJITA Tomonori
2025-01-22 17:05       ` Gary Guo
2025-01-22 17:06         ` Alice Ryhl
2025-01-23  0:12           ` FUJITA Tomonori
2025-01-16  4:40 ` [PATCH v8 5/7] MAINTAINERS: rust: Add TIMEKEEPING and TIMER abstractions FUJITA Tomonori
2025-01-16  4:40 ` [PATCH v8 6/7] rust: Add read_poll_timeout functions FUJITA Tomonori
2025-01-16  9:45   ` Alice Ryhl
2025-01-16 11:32     ` FUJITA Tomonori
2025-01-16 11:42       ` Alice Ryhl
2025-01-16 11:49         ` FUJITA Tomonori
2025-01-16 11:51           ` Alice Ryhl
2025-01-22 18:36   ` Gary Guo
2025-01-22 20:14     ` Alice Ryhl
2025-01-23  7:29       ` FUJITA Tomonori
2025-01-23  7:25     ` FUJITA Tomonori
2025-01-16  4:40 ` [PATCH v8 7/7] net: phy: qt2025: Wait until PHY becomes ready FUJITA Tomonori
2025-01-16  8:32   ` Alice Ryhl
2025-01-22 18:37   ` Gary Guo

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=20250122165837.787867ba.gary@garyguo.net \
    --to=gary@garyguo.net \
    --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=boqun.feng@gmail.com \
    --cc=bsegall@google.com \
    --cc=dietmar.eggemann@arm.com \
    --cc=frederic@kernel.org \
    --cc=fujita.tomonori@gmail.com \
    --cc=hkallweit1@gmail.com \
    --cc=jstultz@google.com \
    --cc=juri.lelli@redhat.com \
    --cc=linux-kernel@vger.kernel.org \
    --cc=mgorman@suse.de \
    --cc=mingo@redhat.com \
    --cc=netdev@vger.kernel.org \
    --cc=ojeda@kernel.org \
    --cc=peterz@infradead.org \
    --cc=rostedt@goodmis.org \
    --cc=rust-for-linux@vger.kernel.org \
    --cc=sboyd@kernel.org \
    --cc=tglx@linutronix.de \
    --cc=tmgross@umich.edu \
    --cc=vincent.guittot@linaro.org \
    --cc=vschneid@redhat.com \
    /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 an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.