Re: [PATCH 00/17] Rust support
From: Matthew Wilcox <willy@infradead.org>
Date: 2021-07-23 01:18:36
Also in:
linux-doc, linux-kbuild, lkml
From: Matthew Wilcox <willy@infradead.org>
Date: 2021-07-23 01:18:36
Also in:
linux-doc, linux-kbuild, lkml
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:quoted
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 ...
quoted
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.