Re: [PATCH v4 0/8] Support for Open-Channel SSDs

2015-07-16 Thread Matias Bjørling
On 07/16/2015 02:46 PM, Christoph Hellwig wrote: Hi Matias, the underlying lighnvm driver (nvme or NULL) shouldn't register a gendisk - the only gendisk you'll need is that for the block device that sits on top of lightnvm. That could work as well. I'll refactor the nvme/null drivers to allow

Re: [PATCH v4 0/8] Support for Open-Channel SSDs

2015-07-16 Thread Christoph Hellwig
Hi Matias, the underlying lighnvm driver (nvme or NULL) shouldn't register a gendisk - the only gendisk you'll need is that for the block device that sits on top of lightnvm. -- To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to majord...@vger.kerne

Re: [PATCH v4 0/8] Support for Open-Channel SSDs

2015-07-16 Thread Matias Bjørling
As a start add a new submit_io method to the nvm_dev_ops, and add an implementation similar to pscsi_execute_cmd in drivers/target/target_core_pscsi.c for nvme, and a trivial no op for a null-nvm driver replacing the null-blk additions. This will give you very similar behavior to your current cod

Re: [PATCH v4 0/8] Support for Open-Channel SSDs

2015-06-17 Thread Matias Bjorling
I don't think the current abuses of the block API are acceptable though. The crazy deep merging shouldn't be too relevant for SSD-type devices so I think you'd do better than trying to reuse the TYPE_FS level blk-mq merging code. If you want to reuse the request allocation/submission code that's

Re: [PATCH v4 0/8] Support for Open-Channel SSDs

2015-06-17 Thread Christoph Hellwig
On Sat, Jun 13, 2015 at 06:17:11PM +0200, Matias Bjorling wrote: > > Note that for NVMe it might still make sense to implement this using > > blk-mq and a struct request, but those should be internal similar to > > how NVMe implements admin commands. > > How about handling I/O merges? In the case

Re: [PATCH v4 0/8] Support for Open-Channel SSDs

2015-06-13 Thread Matias Bjorling
On 06/11/2015 12:29 PM, Christoph Hellwig wrote: > On Wed, Jun 10, 2015 at 08:11:42PM +0200, Matias Bjorling wrote: >> 1. A get/put flash block API, that user-space applications can use. >> That will enable application-driven FTLs. E.g. RocksDB can be integrated >> tightly with the SSD. Allowing da

Re: [PATCH v4 0/8] Support for Open-Channel SSDs

2015-06-11 Thread Christoph Hellwig
On Wed, Jun 10, 2015 at 08:11:42PM +0200, Matias Bjorling wrote: > 1. A get/put flash block API, that user-space applications can use. > That will enable application-driven FTLs. E.g. RocksDB can be integrated > tightly with the SSD. Allowing data placement and garbage collection to > be strictly c

Re: [PATCH v4 0/8] Support for Open-Channel SSDs

2015-06-10 Thread Matias Bjorling
On 06/09/2015 09:46 AM, Christoph Hellwig wrote: > Hi Matias, > > I've been looking over this and I really think it needs a fundamental > rearchitecture still. The design of using a separate stacking > block device and all kinds of private hooks does not look very > maintainable. > > Here is my

Re: [PATCH v4 0/8] Support for Open-Channel SSDs

2015-06-09 Thread Christoph Hellwig
Hi Matias, I've been looking over this and I really think it needs a fundamental rearchitecture still. The design of using a separate stacking block device and all kinds of private hooks does not look very maintainable. Here is my counter suggestion: - the stacking block device goes away - th

RE: [PATCH v4 0/8] Support for Open-Channel SSDs

2015-06-08 Thread Stephen Bates
Hi I have tested this patchset using fio and a simple script that is available at the URL below. Note testing was performed in a QEMU environment and not on real lightnvm block IO devices. https://github.com/OpenChannelSSD/lightnvm-hw (see the sanity.sh script in the sanity sub-folder). Teste