From: mlin@kernel.org (Ming Lin)
Subject: RFC: nvme driver split, the main part
Date: Tue, 13 Oct 2015 16:23:18 -0700 [thread overview]
Message-ID: <1444778598.20969.11.camel@ssi> (raw)
In-Reply-To: <1444633811-28319-1-git-send-email-hch@lst.de>
On Mon, 2015-10-12@09:10 +0200, Christoph Hellwig wrote:
> And this is where the real work starts. This moves all the block device,
> char device and sysfs interface code as well as the controller identification
> and namespaces scanning into the common code. I've ported both my nvme-loop
> and the fabrics driver over to this scheme to validate that it works fine.
>
> The main complication here is patch two which uses the block layer PI
> infrastructure for metdata passthrough. I can't test it because I don't
> have access to a metadata capable device so I'll have to rely on testers.
>
> Once this this series is done there are a few more items remaining:
>
> - remove a few library-like functions to core.c (trivial)
> - abort rewrite to sit on top of the struct request infrastructure (in progress)
> - AEN rewrite, including making a small part of it common
> - a proper state machine for probing, scanning and resets (will take a while)
>
> To make testing easier I've pushed out a git tree with this and all dependencies:
>
> git://git.infradead.org/users/hch/block.git nvme-split.4
I ported virtio-nvme to nvme-split. It works.
https://git.kernel.org/cgit/linux/kernel/git/mlin/linux.git/log/?h=nvme-split/virtio
root at wheezy:/sys/class/nvme# ll
lrwxrwxrwx 1 root root 0 Oct 13 16:06 nvme0 -> ../../devices/pci0000:00/0000:00:04.0/nvme/nvme0/
lrwxrwxrwx 1 root root 0 Oct 13 16:06 nvme1 -> ../../devices/pci0000:00/0000:00:05.0/virtio1/nvme/nvme1/
root at wheezy:/sys/block# ll nvme*
lrwxrwxrwx 1 root root 0 Oct 13 16:07 nvme0n1 -> ../devices/pci0000:00/0000:00:04.0/nvme/nvme0/nvme0n1/
lrwxrwxrwx 1 root root 0 Oct 13 16:07 nvme1n1 -> ../devices/pci0000:00/0000:00:05.0/virtio1/nvme/nvme1/nvme1n1/
For the core part, I only moved the call of nvme_core_{init,exit} from
pci.c to core.c.
For the naming, how about:
- for core data structures/functions, prefixed all with nvme_core_*
- for pci data structures/functions, prefixed all with nvme_pci_*
I did this naming in drivers/nvme/host/virtio.c.
I can send a patch if you agree.
Thanks.
next prev parent reply other threads:[~2015-10-13 23:23 UTC|newest]
Thread overview: 19+ messages / expand[flat|nested] mbox.gz Atom feed top
2015-10-12 7:10 RFC: nvme driver split, the main part Christoph Hellwig
2015-10-12 7:10 ` [PATCH 1/8] nvme: split __nvme_submit_sync_cmd Christoph Hellwig
2015-10-12 7:10 ` [PATCH 2/8] nvme: use the block layer for userspace passthrough metadata Christoph Hellwig
2015-10-14 21:19 ` Keith Busch
2015-10-14 21:23 ` Busch, Keith
2015-10-15 5:27 ` Christoph Hellwig
2015-10-15 14:44 ` Keith Busch
2015-10-15 14:58 ` Christoph Hellwig
2015-10-12 7:10 ` [PATCH 3/8] nvme: move block_device_operations and ns/ctrl freeing to common code Christoph Hellwig
2015-10-12 7:10 ` [PATCH 4/8] nvme: add explicit quirk handling Christoph Hellwig
2015-10-12 7:10 ` [PATCH 5/8] nvme: add a common helper to read Identify Controller data Christoph Hellwig
2015-10-12 7:10 ` [PATCH 6/8] nvme: move the call to nvme_init_identify earlier Christoph Hellwig
2015-10-12 7:10 ` [PATCH 7/8] nvme: move namespace scanning to common code Christoph Hellwig
2015-10-13 19:31 ` Keith Busch
2015-10-14 12:53 ` Christoph Hellwig
2015-10-12 7:10 ` [PATCH 8/8] nvme: move chardev and sysfs interface " Christoph Hellwig
2015-10-14 16:03 ` Keith Busch
2015-10-13 23:23 ` Ming Lin [this message]
2015-10-14 12:58 ` RFC: nvme driver split, the main part Christoph Hellwig
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=1444778598.20969.11.camel@ssi \
--to=mlin@kernel.org \
/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).