From: Danilo Krummrich <dakr@kernel.org>
To: Christoph Hellwig <hch@lst.de>
Cc: "Miguel Ojeda" <miguel.ojeda.sandonis@gmail.com>,
"Abdiel Janulgue" <abdiel.janulgue@gmail.com>,
daniel.almeida@collabora.com, aliceryhl@google.com,
robin.murphy@arm.com, rust-for-linux@vger.kernel.org,
"Miguel Ojeda" <ojeda@kernel.org>,
"Alex Gaynor" <alex.gaynor@gmail.com>,
"Boqun Feng" <boqun.feng@gmail.com>,
"Gary Guo" <gary@garyguo.net>,
"Björn Roy Baron" <bjorn3_gh@protonmail.com>,
"Benno Lossin" <benno.lossin@proton.me>,
"Andreas Hindborg" <a.hindborg@kernel.org>,
"Trevor Gross" <tmgross@umich.edu>,
"Valentin Obst" <kernel@valentinobst.de>,
"open list" <linux-kernel@vger.kernel.org>,
"Marek Szyprowski" <m.szyprowski@samsung.com>,
airlied@redhat.com,
"open list:DMA MAPPING HELPERS" <iommu@lists.linux.dev>,
"Greg KH" <gregkh@linuxfoundation.org>
Subject: Re: [PATCH v8 2/2] rust: add dma coherent allocator abstraction.
Date: Thu, 9 Jan 2025 09:49:47 +0100 [thread overview]
Message-ID: <Z3-NqwAG_96yq8VD@pollux> (raw)
In-Reply-To: <20250109080812.GA20431@lst.de>
On Thu, Jan 09, 2025 at 09:08:12AM +0100, Christoph Hellwig wrote:
> On Wed, Jan 08, 2025 at 04:21:33PM +0100, Danilo Krummrich wrote:
> > What does "your code" mean? Duplicated in every driver?
>
> Yes, interfaces to the DMA API should stay in readable C code and not
> in weird bindings so that it reminds greppable and maintainable.
>
Rust drivers shouldn't use C APIs directly, but rather use an abstraction of the
corresponding C API.
One reason for that is that some requirements C APIs naturally have, can be
abstracted in a way, that the Rust compiler already ensures certain things and
hence drivers have less potential to produce errors.
(I understand this is very abstract and we can go into details and examples, if
you like.)
So, in the end, Rust drivers would just end up with each of them including a
copy of those abstractions, rather than using the C APIs from all over the place
within the driver.
This wouldn't help with what you ask for, it would just duplicate the "problem".
If you don't feel comfortable maintaining the Rust abstraction (or just don't
want to), that's fine. I don't think anyone expects you to do that, we can take
care of that instead.
From your perspective, I think you can just think of the Rust abstraction as a
single driver calling into the DMA API.
next prev parent reply other threads:[~2025-01-09 8:49 UTC|newest]
Thread overview: 92+ messages / expand[flat|nested] mbox.gz Atom feed top
2025-01-08 12:27 [PATCH v8 0/2] Add dma coherent allocator abstraction Abdiel Janulgue
2025-01-08 12:27 ` [PATCH v8 1/2] rust: error: Add EOVERFLOW Abdiel Janulgue
2025-01-08 12:27 ` [PATCH v8 2/2] rust: add dma coherent allocator abstraction Abdiel Janulgue
2025-01-08 13:59 ` Christoph Hellwig
2025-01-08 15:16 ` Miguel Ojeda
2025-01-08 15:18 ` Christoph Hellwig
2025-01-08 15:21 ` Danilo Krummrich
2025-01-09 8:08 ` Christoph Hellwig
2025-01-09 8:49 ` Danilo Krummrich [this message]
2025-01-10 8:39 ` Christoph Hellwig
2025-01-10 10:41 ` Danilo Krummrich
2025-01-16 13:17 ` Danilo Krummrich
2025-01-16 13:57 ` Robin Murphy
2025-01-16 15:57 ` Danilo Krummrich
2025-01-17 13:56 ` Simona Vetter
2025-01-17 19:10 ` Abdiel Janulgue
2025-01-28 10:14 ` Daniel Almeida
2025-01-28 9:23 ` Christoph Hellwig
2025-01-29 21:33 ` Danilo Krummrich
2025-01-31 7:57 ` Christoph Hellwig
2025-02-03 8:17 ` Abdiel Janulgue
2025-02-04 5:29 ` Christoph Hellwig
2025-01-30 13:19 ` Philipp Stanner
2025-01-30 13:35 ` Daniel Almeida
2025-01-30 13:43 ` Philipp Stanner
2025-01-30 15:46 ` Jason Gunthorpe
2025-01-30 16:11 ` Greg KH
2025-01-30 17:24 ` Jason Gunthorpe
2025-01-31 7:47 ` Greg KH
2025-01-31 13:54 ` Jason Gunthorpe
2025-02-03 18:46 ` Hector Martin
2025-02-03 19:16 ` Jason Gunthorpe
2025-02-03 23:41 ` Hector Martin
2025-02-03 19:22 ` Paolo Bonzini
2025-02-03 23:05 ` Hector Martin
2025-02-05 18:52 ` On community influencing (was Re: [PATCH v8 2/2] rust: add dma coherent allocator abstraction.) Simona Vetter
2025-02-05 20:36 ` Dave Airlie
2025-02-06 9:19 ` Hector Martin
2025-02-06 17:58 ` Linus Torvalds
2025-02-07 12:16 ` Dr. Greg
2025-02-08 4:26 ` Steven Rostedt
2025-02-08 4:32 ` Steven Rostedt
2025-02-08 8:31 ` Hector Martin
2025-02-10 9:41 ` Icenowy Zheng
2025-02-10 10:24 ` Danilo Krummrich
2025-02-13 3:49 ` Icenowy Zheng
2025-02-13 6:41 ` Abdiel Janulgue
2025-02-13 9:50 ` Icenowy Zheng
2025-02-13 11:34 ` Danilo Krummrich
2025-02-08 20:44 ` Theodore Ts'o
2025-02-09 0:47 ` Danilo Krummrich
2025-02-09 3:42 ` comex
2025-02-13 10:20 ` David Airlie
2025-02-20 16:24 ` Simona Vetter
2025-02-20 16:37 ` Jason Gunthorpe
2025-02-20 16:52 ` Jarkko Sakkinen
2025-02-13 19:52 ` Ronja Meyer
2025-02-13 19:22 ` 33KK
2025-02-06 19:37 ` Danilo Krummrich
2025-02-06 20:16 ` Hector Martin
2025-02-07 17:14 ` Konstantin Ryabitsev
2025-02-07 18:02 ` Hector Martin
2025-02-07 18:16 ` Konstantin Ryabitsev
2025-02-09 8:25 ` Neal Gompa
2025-02-10 17:28 ` Mark Brown
2025-02-14 7:10 ` Neal Gompa
2025-02-14 19:49 ` Al Viro
2025-02-19 15:03 ` Mark Brown
2025-02-07 18:33 ` Linus Torvalds
2025-02-07 19:18 ` Hector Martin
2025-02-07 18:53 ` Dr. David Alan Gilbert
2025-02-07 9:41 ` Hector Martin
2025-02-07 10:20 ` Hector Martin
2025-02-07 10:51 ` Greg KH
2025-02-07 13:49 ` Simona Vetter
2025-02-07 14:54 ` Hector Martin
2025-02-10 7:52 ` Simona Vetter
2025-02-08 23:55 ` [PATCH v8 2/2] rust: add dma coherent allocator abstraction Carlos Bilbao
2025-02-09 6:44 ` David Airlie
2025-02-09 16:19 ` Carlos Bilbao
2025-02-09 16:28 ` Carlos Bilbao
2025-01-08 18:08 ` Daniel Sedlak
2025-01-08 19:09 ` Daniel Almeida
2025-01-09 11:14 ` Abdiel Janulgue
2025-01-09 11:19 ` Miguel Ojeda
2025-01-09 11:32 ` Miguel Ojeda
2025-01-10 8:07 ` Abdiel Janulgue
2025-01-12 0:41 ` kernel test robot
2025-02-04 16:54 ` Thomas Hampton
2025-02-05 2:41 ` Thomas Hampton
2025-02-10 8:54 ` [PATCH v8 0/2] Add " Pyrex
2025-02-10 9:09 ` Danilo Krummrich
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=Z3-NqwAG_96yq8VD@pollux \
--to=dakr@kernel.org \
--cc=a.hindborg@kernel.org \
--cc=abdiel.janulgue@gmail.com \
--cc=airlied@redhat.com \
--cc=alex.gaynor@gmail.com \
--cc=aliceryhl@google.com \
--cc=benno.lossin@proton.me \
--cc=bjorn3_gh@protonmail.com \
--cc=boqun.feng@gmail.com \
--cc=daniel.almeida@collabora.com \
--cc=gary@garyguo.net \
--cc=gregkh@linuxfoundation.org \
--cc=hch@lst.de \
--cc=iommu@lists.linux.dev \
--cc=kernel@valentinobst.de \
--cc=linux-kernel@vger.kernel.org \
--cc=m.szyprowski@samsung.com \
--cc=miguel.ojeda.sandonis@gmail.com \
--cc=ojeda@kernel.org \
--cc=robin.murphy@arm.com \
--cc=rust-for-linux@vger.kernel.org \
--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).