All of lore.kernel.org
 help / color / mirror / Atom feed
From: Rasmus Villemoes <ravi@prevas.dk>
To: FUJITA Tomonori <fujita.tomonori@gmail.com>
Cc: anna-maria@linutronix.de,  frederic@kernel.org,
	 tglx@linutronix.de, jstultz@google.com,  sboyd@kernel.org,
	 linux-kernel@vger.kernel.org, netdev@vger.kernel.org,
	 rust-for-linux@vger.kernel.org,  andrew@lunn.ch,
	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, arnd@arndb.de
Subject: Re: [PATCH v5 6/7] rust: Add read_poll_timeout functions
Date: Thu, 07 Nov 2024 13:50:23 +0100	[thread overview]
Message-ID: <874j4jgqcw.fsf@prevas.dk> (raw)
In-Reply-To: <20241101010121.69221-7-fujita.tomonori@gmail.com> (FUJITA Tomonori's message of "Fri, 1 Nov 2024 10:01:20 +0900")

On Fri, Nov 01 2024, FUJITA Tomonori <fujita.tomonori@gmail.com> wrote:

> For the proper debug info, readx_poll_timeout() and __might_sleep()
> are implemented as a macro. We could implement them as a normal
> function if there is a clean way to get a null-terminated string
> without allocation from core::panic::Location::file().

Would it be too much to hope for either a compiler flag or simply
default behaviour for having the backing, static store of the file!()
&str being guaranteed to be followed by a nul character? (Of course that
nul should not be counted in the slice's length). That would in general
increase interop with C code.

This is hardly the last place where Rust code would pass
Location::file() into C, and having to pass that as a (ptr,len) pair
always and updating the receiving C code to use %.*s seems like an
uphill battle, especially when the C code passes the const char* pointer
through a few layers before it is finally passed to a printf-like
function.

And creating the nul-terminated strings with c_str! needlessly doubles
the storage needed for the file names (unless the rust compiler is smart
enough to then re-use the c_str result for the backing store of the
file!() &str).

Rasmus

  parent reply	other threads:[~2024-11-07 12:50 UTC|newest]

Thread overview: 18+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2024-11-01  1:01 [PATCH v5 0/7] rust: Add IO polling FUJITA Tomonori
2024-11-01  1:01 ` [PATCH v5 1/7] rust: time: Add PartialEq/Eq/PartialOrd/Ord trait to Ktime FUJITA Tomonori
2024-11-01  1:01 ` [PATCH v5 2/7] rust: time: Introduce Delta type FUJITA Tomonori
2024-11-01  1:01 ` [PATCH v5 3/7] rust: time: Introduce Instant type FUJITA Tomonori
2024-11-01  1:01 ` [PATCH v5 4/7] rust: time: Add wrapper for fsleep function FUJITA Tomonori
2024-11-06 18:13   ` Boqun Feng
2024-11-09  4:38     ` FUJITA Tomonori
2024-11-01  1:01 ` [PATCH v5 5/7] MAINTAINERS: rust: Add TIMEKEEPING and TIMER abstractions FUJITA Tomonori
2024-11-01  1:01 ` [PATCH v5 6/7] rust: Add read_poll_timeout functions FUJITA Tomonori
2024-11-06 18:18   ` Boqun Feng
2024-11-09  5:15     ` FUJITA Tomonori
2024-11-06 21:35   ` Boqun Feng
2024-11-07  8:56     ` Petr Mladek
2024-11-09  9:38     ` FUJITA Tomonori
2024-11-07 12:50   ` Rasmus Villemoes [this message]
2024-11-07 12:59     ` Alice Ryhl
2024-11-07 12:59     ` Miguel Ojeda
2024-11-01  1:01 ` [PATCH v5 7/7] net: phy: qt2025: Wait until PHY becomes ready 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=874j4jgqcw.fsf@prevas.dk \
    --to=ravi@prevas.dk \
    --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 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.