public inbox for linux-kernel@vger.kernel.org
 help / color / mirror / Atom feed
From: Dongsheng Yang <yangds.fnst@cn.fujitsu.com>
To: "Matias Bjørling" <m@bjorling.me>,
	hch@infradead.org, axboe@fb.com, linux-fsdevel@vger.kernel.org,
	linux-kernel@vger.kernel.org, linux-nvme@lists.infradead.org
Cc: jg@lightnvm.io, Stephen.Bates@pmcs.com, keith.busch@intel.com,
	"Matias Bjørling" <mb@lightnvm.io>
Subject: Re: [PATCH v7 0/5] Support for Open-Channel SSDs
Date: Wed, 2 Sep 2015 11:50:55 +0800	[thread overview]
Message-ID: <55E6721F.4040307@cn.fujitsu.com> (raw)
In-Reply-To: <1438957791-24632-1-git-send-email-mb@lightnvm.io>

On 08/07/2015 10:29 PM, Matias Bjørling wrote:
> These patches implement support for Open-Channel SSDs.
>
> Applies against axboe's linux-block/for-4.3/drivers and can be found
> in the lkml_v7 branch at https://github.com/OpenChannelSSD/linux
>
> Any feedback is greatly appreciated.

Hi Matias,
	After a reading of your code, that's a great idea.
I tried it with null_nvm and qemu-nvm. I have two questions
here.
	(1), Why we name it lightnvm? IIUC, this framework
can work for other flashes not only NVMe protocol.
	(2), There are gc and bm, but where is the wear leveling?
In hardware?

Thanx
Yang
>
> Changes since v6:
>   - Multipage support (Javier Gonzalez)
>   - General code cleanups
>   - Fixed memleak on register failure
>
> Changes since v5:
> Feedback from Christoph Hellwig.
>   - Created new null_nvm from null_blk to register itself as a lightnvm
>     device.
>   - Changed the interface of register/unregister to only take disk_name.
>     The gendisk alloc in nvme is kept. Most instantiations will
>     involve the device gendisk, therefore wait with refactoring to a
>     later time.
>   - Renamed global parameters in core.c and rrpc.c
>
> Changes since v4:
>   - Remove gendisk->nvm dependency
>   - Remove device driver rq private field dependency.
>   - Update submission and completion. The flow is now
>       Target -> Block Manager -> Device Driver, replacing callbacks in
>       device driver.
>   - Abstracted out the block manager into its own module. Other block
>     managers can now be implemented. For example to support fully
>     host-based SSDs.
>   - No longer exposes the device driver gendisk to user-space.
>   - Management is moved into /sys/modules/lnvm/parameters/configure_debug
>
> Changes since v3:
>
>   - Remove dependency on REQ_NVM_GC
>   - Refactor nvme integration to use nvme_submit_sync_cmd for
>     internal commands.
>   - Fix race condition bug on multiple threads on RRPC target.
>   - Rename sysfs entry under the block device from nvm to lightnvm.
>     The configuration is found in /sys/block/*/lightnvm/
>
> Changes since v2:
>
>   Feedback from Paul Bolle:
>   - Fix license to GPLv2, documentation, compilation.
>   Feedback from Keith Busch:
>   - nvme: Move lightnvm out and into nvme-lightnvm.c.
>   - nvme: Set controller css on lightnvm command set.
>   - nvme: Remove OACS.
>   Feedback from Christoph Hellwig:
>   - lightnvm: Move out of block layer into /drivers/lightnvm/core.c
>   - lightnvm: refactor request->phys_sector into device drivers.
>   - lightnvm: refactor prep/unprep into device drivers.
>   - lightnvm: move nvm_dev from request_queue to gendisk.
>
>   New
>   - Bad block table support (From Javier).
>   - Update maintainers file.
>
> Changes since v1:
>
>   - Splitted LightNVM into two parts. A get/put interface for flash
>     blocks and the respective targets that implement flash translation
>     layer logic.
>   - Updated the patches according to the LightNVM specification changes.
>   - Added interface to add/remove targets for a block device.
>
> Thanks to Jens Axboe, Christoph Hellwig, Keith Busch, Paul Bolle,
> Javier Gonzalez and Jesper Madsen for discussions and contributions.
>
> Matias Bjørling (5):
>    lightnvm: Support for Open-Channel SSDs
>    lightnvm: Hybrid Open-Channel SSD RRPC target
>    lightnvm: Hybrid Open-Channel SSD block manager
>    null_nvm: Lightnvm test driver
>    nvme: LightNVM support
>
>   MAINTAINERS                   |    8 +
>   drivers/Kconfig               |    2 +
>   drivers/Makefile              |    5 +
>   drivers/block/Makefile        |    2 +-
>   drivers/block/nvme-core.c     |   23 +-
>   drivers/block/nvme-lightnvm.c |  568 ++++++++++++++++++
>   drivers/lightnvm/Kconfig      |   36 ++
>   drivers/lightnvm/Makefile     |    8 +
>   drivers/lightnvm/bm_hb.c      |  366 ++++++++++++
>   drivers/lightnvm/bm_hb.h      |   46 ++
>   drivers/lightnvm/core.c       |  591 +++++++++++++++++++
>   drivers/lightnvm/null_nvm.c   |  481 +++++++++++++++
>   drivers/lightnvm/rrpc.c       | 1296 +++++++++++++++++++++++++++++++++++++++++
>   drivers/lightnvm/rrpc.h       |  236 ++++++++
>   include/linux/lightnvm.h      |  334 +++++++++++
>   include/linux/nvme.h          |    6 +
>   include/uapi/linux/nvme.h     |    3 +
>   17 files changed, 4007 insertions(+), 4 deletions(-)
>   create mode 100644 drivers/block/nvme-lightnvm.c
>   create mode 100644 drivers/lightnvm/Kconfig
>   create mode 100644 drivers/lightnvm/Makefile
>   create mode 100644 drivers/lightnvm/bm_hb.c
>   create mode 100644 drivers/lightnvm/bm_hb.h
>   create mode 100644 drivers/lightnvm/core.c
>   create mode 100644 drivers/lightnvm/null_nvm.c
>   create mode 100644 drivers/lightnvm/rrpc.c
>   create mode 100644 drivers/lightnvm/rrpc.h
>   create mode 100644 include/linux/lightnvm.h
>


  parent reply	other threads:[~2015-09-02  3:57 UTC|newest]

Thread overview: 14+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2015-08-07 14:29 [PATCH v7 0/5] Support for Open-Channel SSDs Matias Bjørling
2015-08-07 14:29 ` [PATCH v7 1/5] lightnvm: " Matias Bjørling
2015-09-02  3:50   ` Dongsheng Yang
2015-09-02 10:48     ` Matias Bjørling
2015-09-04  7:06       ` Dongsheng Yang
2015-09-04  8:05         ` Matias Bjørling
2015-09-04  8:27           ` Dongsheng Yang
2015-09-04  8:49             ` Matias Bjørling
2015-08-07 14:29 ` [PATCH v7 2/5] lightnvm: Hybrid Open-Channel SSD RRPC target Matias Bjørling
2015-08-07 14:29 ` [PATCH v7 3/5] lightnvm: Hybrid Open-Channel SSD block manager Matias Bjørling
2015-08-07 14:29 ` [PATCH v7 4/5] null_nvm: Lightnvm test driver Matias Bjørling
2015-08-07 14:29 ` [PATCH v7 5/5] nvme: LightNVM support Matias Bjørling
2015-09-02  3:50 ` Dongsheng Yang [this message]
2015-09-02 10:59   ` [PATCH v7 0/5] Support for Open-Channel SSDs Matias Bjørling

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=55E6721F.4040307@cn.fujitsu.com \
    --to=yangds.fnst@cn.fujitsu.com \
    --cc=Stephen.Bates@pmcs.com \
    --cc=axboe@fb.com \
    --cc=hch@infradead.org \
    --cc=jg@lightnvm.io \
    --cc=keith.busch@intel.com \
    --cc=linux-fsdevel@vger.kernel.org \
    --cc=linux-kernel@vger.kernel.org \
    --cc=linux-nvme@lists.infradead.org \
    --cc=m@bjorling.me \
    --cc=mb@lightnvm.io \
    /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