Re: [PATCH 00/17] Rust support

Matthew Wilcox
2021-07-23T01:18:35Z

On Thu, Jul 22, 2021 at 11:55:58PM +0100, Wedson Almeida Filho wrote:
> Hey Matthew,
>
> On Thu, Jul 08, 2021 at 01:58:32AM +0100, Matthew Wilcox wrote:
> > Why are you so resistant to writing a real driver that deals with actual
> > hardware?
>
> I don't think it was so much resistance but rather a prioritisation thing. Have
> you by any chance seen the gpio driver I posted a couple of days ago?

I haven't seen it, no ...

> > A simple NVMe driver is less than a thousand lines of C.
> > I know the one in the kernel now is ridiculously complicated and has
> > been thoroughly messed up with abstractions to support NVMeoF instead
> > of having a separate driver, but it's really a simple interface at heart.
>
> The latest NVMe spec is 452 pages long, which seems to contradict your claim
> that it's simple.

As I said, they've put all kinds of crap into NVMe these days.
If you look at the 1.0e spec, it's 127 pages.

> In any case, translating less than 1K lines of C shouldn't be
> too hard (after I've built the abstractions, of course). Would you mind sharing
> the simple driver you mention above?

Unfortunately, most of the early versions were lost during the
kernel.org breakin. If you check out commit 5da273fe3fd1 and look at
drivers/block/nvme.c, you'll see a driver that's about 2000 lines.