Re: [PATCH v6 0/5] Support for Open-Channel SSDs

2015-08-04 Thread Matias
On 08/04/2015 01:30 PM, Christoph Hellwig wrote: Hi Matias, the architecture looks fine to me. Probab;y not worth merging until your have the multipage I/O sorted out and real hardware, or do you want to aim for fast inclusion? Hi Christoph, The multipage will come in v7. Javier has it

Re: [PATCH v6 5/5] nvme: LightNVM support

2015-08-04 Thread Matias
On 08/02/2015 09:57 AM, Pavel Machek wrote: Hi! +struct nvme_nvm_hb_rw { + __u8opcode; + __u8flags; + __u16 command_id; + __le32 nsid; + __u64 rsvd2; + __le64

Re: [PATCH] lightnvm: fix wrong return value and remove nvme_free(dev) in nvm_init()

2015-11-19 Thread Matias
On 11/19/2015 04:23 PM, Wenwei Tao wrote: The return value should be non-zero under error conditions. Remove nvme_free(dev) to avoid free dev more than once. Signed-off-by: Wenwei Tao --- drivers/lightnvm/core.c | 6 ++ 1 file changed, 2 insertions(+), 4 deletions(-) diff --git a/driver

Re: [PATCH] lightnvm: missing nvm_lock acquire

2015-11-24 Thread Matias
On 11/24/2015 04:24 PM, Wenwei Tao wrote: To avoid race conditions, traverse dev, media manager, and targeet lists and also register, unregister entries to/from them, should be always under the nvm_lock control. Signed-off-by: Wenwei Tao --- drivers/lightnvm/core.c | 19 +--

Re: [PATCH] lightnvm: remove targets when corresponding nvm device exit

2015-11-24 Thread Matias
On 11/24/2015 05:03 PM, Wenwei Tao wrote: the target should be unreachable when underlying device was gone. Signed-off-by: Wenwei Tao --- drivers/lightnvm/core.c | 12 ++-- 1 file changed, 10 insertions(+), 2 deletions(-) diff --git a/drivers/lightnvm/core.c b/drivers/lightnvm/core.

Re: [PATCH] lightnvm: do device max sectors boundary check first

2015-11-22 Thread Matias
On 11/22/2015 12:30 PM, Wenwei Tao wrote: do device max_phys_sect boundary check first, otherwise we will allocate dma_pools for devices whose max sectors are beyond lightnvm support and register them. Signed-off-by: Wenwei Tao --- drivers/lightnvm/core.c | 8 +--- 1 file changed, 5 inse

Re: [PATCH] lightnvm: calculate device values correctly

2015-11-22 Thread Matias
On 11/22/2015 02:51 PM, Wenwei Tao wrote: In the original calculation, the relationships among block, plane and lun was confusing, refine it on the basis of Open-channelSSDInterfaceSpecification. Signed-off-by: Wenwei Tao --- drivers/lightnvm/core.c | 9 - 1 file changed, 4 insertion

Re: [PATCH] lightnvm: fix memory leak

2015-11-23 Thread Matias
On 11/23/2015 05:40 PM, Sudip Mukherjee wrote: On Mon, Nov 23, 2015 at 04:13:39PM +0100, Matias Bjørling wrote: On 11/23/2015 11:35 AM, Sudip Mukherjee wrote: If copy_to_user() fails we returned error but we missed releasing devices. Signed-off-by: Sudip Mukherjee --- drivers/lightnvm

Re: [PATCH] lightnvm: fix bio submission issue

2015-12-12 Thread Matias
On 12/09/2015 02:26 PM, Wenwei Tao wrote: put bio when submission fails, since we get it before submission. And return error when backend device driver doesn't provide a submit_io method, thus we can end IO properly. Signed-off-by: Wenwei Tao --- drivers/lightnvm/gennvm.c | 2 +- drivers/lig

Re: [PATCH] lightnvm: add full block direct to the gc list

2016-01-06 Thread Matias
On 01/05/2016 10:58 AM, Wenwei Tao wrote: You are right, a deadlock might occur if interrupt is not disabled. We might add the block to prio_list when we find the block is full in rrpc_alloc_addr and check whether all the writes are complete in rrpc_lun_gc, in this way we may avoid gcb allocatio

[PATCH RFC 0/2] Convert from bio-based to blk-mq

2013-10-08 Thread Matias Bjørling
hin mq? * Move cmdid into blk mq and use request tagging. * Notify mq of nvme device stripe size. * Let mq know and handle BIOVEC_NOT_VIRT_MERGEABLE. I crave some feedback on whether it's on the right path, before I break the bio path apart and put it together again. Matias Bjørling (2): bl

[PATCH RFC 2/2] NVMe: rfc blk-mq support

2013-10-08 Thread Matias Bjørling
: Matias Bjørling --- drivers/block/nvme-core.c | 404 +- include/linux/nvme.h | 3 +- 2 files changed, 153 insertions(+), 254 deletions(-) diff --git a/drivers/block/nvme-core.c b/drivers/block/nvme-core.c index ce79a59..510e41f 100644 --- a

[PATCH RFC 1/2] blk-mq: call exit_hctx on hw queue teardown

2013-10-08 Thread Matias Bjørling
The driver initialize itself using init_hctx and reverts using exit_hctx if unsucessful. exit_hctx is missing on normal hw queue teardown. Signed-off-by: Matias Bjørling --- block/blk-mq.c | 2 ++ 1 file changed, 2 insertions(+) diff --git a/block/blk-mq.c b/block/blk-mq.c index 923e9e1

Re: [PATCH RFC 0/2] Convert from bio-based to blk-mq

2013-10-08 Thread Matias Bjørling
On 10/08/2013 03:10 PM, Matthew Wilcox wrote: On Tue, Oct 08, 2013 at 11:34:20AM +0200, Matias Bjørling wrote: The nvme driver implements itself as a bio-based driver. This primarily because of high lock congestion for high-performance nvm devices. To remove the congestion, a multi-queue block

Re: [PATCH RFC 2/2] NVMe: rfc blk-mq support

2013-10-09 Thread Matias Bjørling
Thanks for the feedback. I'll make a v2 and report back measurements of gain/loss for the machines I have available. On 10/08/2013 10:59 PM, Keith Busch wrote: On Tue, 8 Oct 2013, Matias Bjørling wrote: Convert the driver to blk mq. The patch consists of: * Initializion of mq

[PATCH 2/2] NVMe: Extract admin queue size

2013-10-10 Thread Matias Bjorling
The queue size of the admin queue should be defined as a constant for use in multiple places. Signed-off-by: Matias Bjorling --- drivers/block/nvme-core.c | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/drivers/block/nvme-core.c b/drivers/block/nvme-core.c index 1e940e8

[PATCH 0/2] NVMe: Refactoring

2013-10-10 Thread Matias Bjorling
Two refactor patches that increases the code clarity. The to-be blk-mq proposal patchset utilizes these as part of its transformation. They are also useful for the current codebase and therefore submitted upfront. Matias Bjorling (2): NVMe: Refactor doorbell NVMe: Extract admin queue size

[PATCH 1/2] NVMe: Refactor doorbell

2013-10-10 Thread Matias Bjorling
The doorbell code is repeated various places. Refactor it into its own function for clarity. Signed-off-by: Matias Bjorling --- drivers/block/nvme-core.c | 29 + 1 file changed, 13 insertions(+), 16 deletions(-) diff --git a/drivers/block/nvme-core.c b/drivers/block

Re: SCHED_FIFO & system()

2008-01-17 Thread Matias Sundman
Hi, I forgot to add one important detail - the Kernel is configured as - Preemptible Kernel (Low-Latency Desktop). Cheers // Matias [EMAIL PROTECTED] skrev: Hello, I have some strange behavior in one of my systems. I have a real-time kernel thread under SCHED_FIFO which is running every

[PATCH] staging: wilc1000: fix symbol 'WILC_DEBUG_LEVEL' was not declared.

2016-09-26 Thread Matias Mucciolo
- Fixed a sparse warning: symbol 'WILC_DEBUG_LEVEL' was not declared. Signed-off-by: Matias Mucciolo --- drivers/staging/wilc1000/wilc_debugfs.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/drivers/staging/wilc1000/wilc_debugfs.c b/drivers/stagin

Re: [PATCH] staging: wilc1000: fix symbol 'WILC_DEBUG_LEVEL' was not declared.

2016-09-26 Thread Matias Mucciolo
hi sorry...this is the full warning: drivers/staging/wilc1000/wilc_debugfs.c:32:10: warning: symbol 'WILC_DEBUG_LEVEL' was not declared. Should it be static? -- Matias Mucciolo Area de Infraestructura. Piedras 737 C.A.B.A SUTEBA On Monday 26 September 2016 17:37:33 Greg Kro

[PATCH] staging: wilc1000: fix sparse warning: symbol was not declared. Should it be static?

2016-09-26 Thread Matias Mucciolo
- Fixed a sparse warning: wilc_debugfs.c:32:10: warning: symbol 'WILC_DEBUG_LEVEL' was not declared. Should it be static? Signed-off-by: Matias Mucciolo --- drivers/staging/wilc1000/wilc_debugfs.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/drivers/stagin

[PATCH] staging: comedi: comedi_fops: coding style fixes

2016-09-08 Thread Matias Mucciolo
- Fixed coding style in comedi_fops.c Symbolic to octal permission. Signed-off-by: Matias Mucciolo --- drivers/staging/comedi/comedi_fops.c | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/drivers/staging/comedi/comedi_fops.c b/drivers/staging/comedi/comedi_fops.c

Re: [GIT PULL 02/58] lightnvm: prevent bd removal if busy

2017-10-16 Thread Matias Bjørling
On Fri, Oct 13, 2017 at 5:35 PM, Rakesh Pandit wrote: > On Fri, Oct 13, 2017 at 07:58:09AM -0700, Christoph Hellwig wrote: >> On Fri, Oct 13, 2017 at 02:45:51PM +0200, Matias Bjørling wrote: >> > From: Rakesh Pandit >> > >> > When a virtual block device is

Re: [PATCH] ligtnvm: if LUNs are already allocated fix return

2017-05-30 Thread Matias Bjørling
On Mon, May 29, 2017 at 11:05 AM, Rakesh Pandit wrote: > Hi Matias, > > On Mon, May 15, 2017 at 06:31:58AM +, Javier Gonzalez wrote: >> > >> > On 13 May 2017, at 21.50, Rakesh Pandit wrote: >> > >> > While creating new device with NVM_DEV_CREATE i

[PATCH] null_blk: fix wrong capacity when bs is not 512 bytes

2015-08-31 Thread Matias Bjørling
set_capacity() sets device's capacity using 512 bytes sectors. null_blk calculates the number of sectors by size / bs, which set_capacity is called with. This led to null_blk exposing the wrong number of sectors when bs is not 512 bytes. Signed-off-by: Matias Bjørling --- drivers/

[PATCH] null_blk: fix memory leak on cleanup

2015-08-31 Thread Matias Bjørling
From: Matias Bjørling Driver was not freeing the memory allocated for internal nullb queues. This patch frees the memory during driver unload. Signed-off-by: Matias Bjørling --- drivers/block/null_blk.c | 33 + 1 file changed, 17 insertions(+), 16 deletions

[PATCH v9 5/5] nvme: LightNVM support

2015-10-14 Thread Matias Bjørling
-off-by: Matias Bjørling --- drivers/nvme/host/Makefile | 2 +- drivers/nvme/host/lightnvm.c | 597 +++ drivers/nvme/host/nvme.h | 10 + drivers/nvme/host/pci.c | 39 ++- 4 files changed, 636 insertions(+), 12 deletions(-) create mode 100644

[PATCH v9 4/5] null_nvm: LightNVM test driver

2015-10-14 Thread Matias Bjørling
This driver implements the I/O flow for a LightNVM device driver. It does no transfers. It can be used to test setup/teardown of devices and evaluating performance of media managers and targets. The framework of the driver is derived from the null_blk module. Signed-off-by: Matias Bjørling

[PATCH v9 3/5] rrpc: Round-robin sector target with cost-based gc

2015-10-14 Thread Matias Bjørling
This target allows an Open-Channel SSD to be exposed asas a block device. It implements a round-robin approach for sector allocation, together with a greedy cost-based garbage collector. Signed-off-by: Matias Bjørling --- drivers/lightnvm/Kconfig |7 + drivers/lightnvm/Makefile |1

[PATCH v9 2/5] gennvm: Generic NVM manager

2015-10-14 Thread Matias Bjørling
-by: Matias Bjørling --- drivers/lightnvm/Kconfig | 7 + drivers/lightnvm/Makefile | 1 + drivers/lightnvm/gennvm.c | 467 ++ drivers/lightnvm/gennvm.h | 46 + 4 files changed, 521 insertions(+) create mode 100644 drivers/lightnvm/gennvm.c

[PATCH v9 0/5] Support for Open-Channel SSDs

2015-10-14 Thread Matias Bjørling
t 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 contr

[PATCH v9 1/5] lightnvm: Support for Open-Channel SSDs

2015-10-14 Thread Matias Bjørling
, which can be application-specific. Contributions in this patch from: Javier Gonzalez Dongsheng Yang Jesper Madsen Signed-off-by: Matias Bjørling --- Documentation/ioctl/ioctl-number.txt | 1 + MAINTAINERS | 8 + drivers/Kconfig | 2

[PATCH v10 5/5] nvme: LightNVM support

2015-10-14 Thread Matias Bjørling
-off-by: Matias Bjørling --- drivers/nvme/host/Makefile | 2 +- drivers/nvme/host/lightnvm.c | 597 +++ drivers/nvme/host/nvme.h | 10 + drivers/nvme/host/pci.c | 39 ++- 4 files changed, 636 insertions(+), 12 deletions(-) create mode 100644

[PATCH v10 1/5] lightnvm: Support for Open-Channel SSDs

2015-10-14 Thread Matias Bjørling
, which can be application-specific. Contributions in this patch from: Javier Gonzalez Dongsheng Yang Jesper Madsen Signed-off-by: Matias Bjørling --- Documentation/ioctl/ioctl-number.txt | 1 + MAINTAINERS | 8 + drivers/Kconfig | 2

[PATCH v10 0/5] Support for Open-Channel SSDs

2015-10-14 Thread Matias Bjørling
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): ligh

[PATCH v10 4/5] null_nvm: LightNVM test driver

2015-10-14 Thread Matias Bjørling
This driver implements the I/O flow for a LightNVM device driver. It does no transfers. It can be used to test setup/teardown of devices and evaluating performance of media managers and targets. The framework of the driver is derived from the null_blk module. Signed-off-by: Matias Bjørling

[PATCH v10 3/5] rrpc: Round-robin sector target with cost-based gc

2015-10-14 Thread Matias Bjørling
This target allows an Open-Channel SSD to be exposed asas a block device. It implements a round-robin approach for sector allocation, together with a greedy cost-based garbage collector. Signed-off-by: Matias Bjørling --- drivers/lightnvm/Kconfig |7 + drivers/lightnvm/Makefile |1

[PATCH v10 2/5] gennvm: Generic NVM manager

2015-10-14 Thread Matias Bjørling
-by: Matias Bjørling --- drivers/lightnvm/Kconfig | 7 + drivers/lightnvm/Makefile | 1 + drivers/lightnvm/gennvm.c | 467 ++ drivers/lightnvm/gennvm.h | 46 + 4 files changed, 521 insertions(+) create mode 100644 drivers/lightnvm/gennvm.c

Re: [RFC PATCH] lightnvm: nvm_find_target_type() can be static

2015-10-14 Thread Matias Bjørling
On Wed, Oct 14, 2015 at 10:52 PM, kbuild test robot wrote: > > Signed-off-by: Fengguang Wu > --- > core.c | 12 ++-- > 1 file changed, 6 insertions(+), 6 deletions(-) > > diff --git a/drivers/lightnvm/core.c b/drivers/lightnvm/core.c > index 9b06d75..7205e57 100644 > --- a/drivers/ligh

[PATCH v11 3/5] rrpc: Round-robin sector target with cost-based gc

2015-10-16 Thread Matias Bjørling
This target allows an Open-Channel SSD to be exposed as a block device. It implements a round-robin approach for sector allocation, together with a greedy cost-based garbage collector. Signed-off-by: Matias Bjørling --- drivers/lightnvm/Kconfig |7 + drivers/lightnvm/Makefile |1

[PATCH v11 0/5] Support for Open-Channel SSDs

2015-10-16 Thread Matias Bjørling
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

[PATCH v11 5/5] nvme: LightNVM support

2015-10-16 Thread Matias Bjørling
: Matias Bjørling --- drivers/nvme/host/Makefile | 2 +- drivers/nvme/host/lightnvm.c | 552 +++ drivers/nvme/host/nvme.h | 10 + drivers/nvme/host/pci.c | 39 ++- 4 files changed, 591 insertions(+), 12 deletions(-) create mode 100644 drivers

[PATCH v11 4/5] null_nvm: LightNVM test driver

2015-10-16 Thread Matias Bjørling
This driver implements the I/O flow for a LightNVM device driver. It does no transfers. It can be used to test setup/teardown of devices and evaluating performance of media managers and targets. The framework of the driver is derived from the null_blk module. Signed-off-by: Matias Bjørling

[PATCH v11 2/5] gennvm: Generic NVM manager

2015-10-16 Thread Matias Bjørling
-by: Matias Bjørling --- drivers/lightnvm/Kconfig | 7 + drivers/lightnvm/Makefile | 1 + drivers/lightnvm/gennvm.c | 478 ++ drivers/lightnvm/gennvm.h | 46 + 4 files changed, 532 insertions(+) create mode 100644 drivers/lightnvm/gennvm.c

[PATCH v11 1/5] lightnvm: Support for Open-Channel SSDs

2015-10-16 Thread Matias Bjørling
, which can be application-specific. Contributions in this patch from: Javier Gonzalez Dongsheng Yang Jesper Madsen Signed-off-by: Matias Bjørling --- Documentation/ioctl/ioctl-number.txt | 1 + MAINTAINERS | 8 + drivers/Kconfig | 2

Re: [PATCH v7 1/5] lightnvm: Support for Open-Channel SSDs

2015-09-02 Thread Matias Bjørling
+ +/* register with device with a supported BM */ +list_for_each_entry(bt, &nvm_bms, list) { +ret = bt->register_bm(dev); +if (ret < 0) +goto err; /* initialization failed */ +if (ret > 0) { +dev->bm = bt; +break; /* successfully

Re: [PATCH v7 0/5] Support for Open-Channel SSDs

2015-09-02 Thread Matias Bjørling
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. Hi Yang, thanks for taking a look. I appreciate it. (1), Why we name it lightnvm? IIUC, this framework can wor

Re: [PATCH] null_blk: fix memory leak on cleanup

2015-09-02 Thread Matias Bjorling
Den 02-09-2015 kl. 20:39 skrev Ross Zwisler: On Mon, Aug 31, 2015 at 02:17:18PM +0200, Matias Bjørling wrote: From: Matias Bjørling Driver was not freeing the memory allocated for internal nullb queues. This patch frees the memory during driver unload. You may want to consider devm_* style

Re: [PATCH v7 1/5] lightnvm: Support for Open-Channel SSDs

2015-09-04 Thread Matias Bjørling
So here is a suggestion, register_bm again if we found nvm_dev->bm == NULL in create_target(). And if it is still NULL after that. return an error "nvm: no compatible bm was found" and stop target creating. Otherwise, there would be a NULL Pointer reference problem. That's a real problem I met i

Re: [PATCH v7 1/5] lightnvm: Support for Open-Channel SSDs

2015-09-04 Thread Matias Bjørling
On 09/04/2015 10:27 AM, Dongsheng Yang wrote: On 09/04/2015 04:05 PM, Matias Bjørling wrote: So here is a suggestion, register_bm again if we found nvm_dev->bm == NULL in create_target(). And if it is still NULL after that. return an error "nvm: no compatible bm was found" an

[PATCH] lightnvm: combine 1.2 and 2.0 command flags

2018-08-02 Thread Matias Bjørling
nd let the rest be dependent on the command opcode, which is trivial to detect and set. Signed-off-by: Matias Bjørling --- drivers/lightnvm/core.c | 20 drivers/lightnvm/pblk-core.c | 13 - drivers/lightnvm/pblk-read.c | 8 +--- drivers/lig

[PATCH 1/2] lightnvm: remove mlc pairs structure

2018-01-30 Thread Matias Bjørling
The known implementations of the 1.2 specification, and upcoming 2.0 implementation all expose a sequential list of pages to write. Remove the data structure, as it is no longer needed. Signed-off-by: Matias Bjørling --- drivers/nvme/host/lightnvm.c | 14 +- 1 file changed, 1

[PATCH 2/2] lightnvm: remove multiple groups in 1.2 data structure

2018-01-30 Thread Matias Bjørling
Only one id group from the 1.2 specification is supported. Make sure that only the first group is accessible. Signed-off-by: Matias Bjørling --- drivers/nvme/host/lightnvm.c | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/drivers/nvme/host/lightnvm.c b/drivers/nvme/host

[PATCH] lightnvm: remove chnl_offset in nvme_nvm_identity

2018-01-30 Thread Matias Bjørling
The identity structure is initialized to zero in the beginning of the nvme_nvm_identity function. The chnl_offset is separately set to zero. Since both the variable and assignment is never changed, remove them. Signed-off-by: Matias Bjørling --- drivers/nvme/host/lightnvm.c | 4 +--- 1 file

Re: [PATCH 1/2] lightnvm: remove mlc pairs structure

2018-01-31 Thread Matias Bjørling
On 01/31/2018 03:00 AM, Javier González wrote: On 30 Jan 2018, at 21.26, Matias Bjørling wrote: The known implementations of the 1.2 specification, and upcoming 2.0 implementation all expose a sequential list of pages to write. Remove the data structure, as it is no longer needed. Signed-off

Re: [PATCH 4/5] lightnvm: pblk: add padding distribution sysfs attribute

2018-01-31 Thread Matias Bjørling
On 01/31/2018 03:06 AM, Javier González wrote: From: Hans Holmberg When pblk receives a sync, all data up to that point in the write buffer must be comitted to persistent storage, and as flash memory comes with a minimal write size there is a significant cost involved both in terms of time for

Re: [PATCH 5/5] lightnvm: pblk: refactor bad block identification

2018-01-31 Thread Matias Bjørling
On 01/31/2018 03:06 AM, Javier González wrote: In preparation for the OCSSD 2.0 spec. bad block identification, refactor the current code to generalize bad block get/set functions and structures. Signed-off-by: Javier González --- drivers/lightnvm/pblk-init.c | 213 +++

Re: [PATCH 5/5] lightnvm: pblk: refactor bad block identification

2018-01-31 Thread Matias Bjørling
On 01/31/2018 10:13 AM, Javier Gonzalez wrote: On 31 Jan 2018, at 16.51, Matias Bjørling wrote: On 01/31/2018 03:06 AM, Javier González wrote: In preparation for the OCSSD 2.0 spec. bad block identification, refactor the current code to generalize bad block get/set functions and structures

[GIT PULL 02/25] lightnvm: remove rrpc

2018-01-05 Thread Matias Bjørling
The hybrid mode for 1.2 revision was deprecated, and have no users. Remove to make it easier to move to the 2.0 revision. Signed-off-by: Matias Bjørling --- drivers/lightnvm/Kconfig |7 - drivers/lightnvm/Makefile |1 - drivers/lightnvm/rrpc.c | 1625

[GIT PULL 00/25] LightNVM updates for 4.16

2018-01-05 Thread Matias Bjørling
the patches posted with this patchset. https://github.com/OpenChannelSSD/linux.git for-4.16/for-jens Thanks, Matias Hans Holmberg (5): lightnvm: pblk: refactor emeta consistency check lightnvm: pblk: rename sync_point to flush_point lightnvm: pblk: clear flush point on completed writes

[GIT PULL 13/25] lightnvm: pblk: rename sync_point to flush_point

2018-01-05 Thread Matias Bjørling
From: Hans Holmberg Sync point is a really confusing name for keeping track of the last entry that needs to be flushed so change the name to to flush_point instead. Signed-off-by: Hans Holmberg Signed-off-by: Javier González Signed-off-by: Matias Bjørling --- drivers/lightnvm/pblk-rb.c

[GIT PULL 24/25] lightnvm: pblk: add iostat support

2018-01-05 Thread Matias Bjørling
From: Javier González Since pblk registers its own block device, the iostat accounting is not automatically done for us. Therefore, add the necessary accounting logic to satisfy the iostat interface. Signed-off-by: Javier González Signed-off-by: Matias Bjørling --- drivers/lightnvm/pblk

[GIT PULL 22/25] lightnvm: pblk: free write buffer on init failure

2018-01-05 Thread Matias Bjørling
From: Javier González Refactor the way we free the write buffer to ensure that all entries get freed in case of an error on the init sequence. Signed-off-by: Javier González Signed-off-by: Matias Bjørling --- drivers/lightnvm/pblk-init.c | 3 ++- 1 file changed, 2 insertions(+), 1 deletion

[GIT PULL 23/25] lightnvm: pblk: print instance name on instance info

2018-01-05 Thread Matias Bjørling
From: Javier González Add the instance name to the information printed out on target creation. Signed-off-by: Javier González Signed-off-by: Matias Bjørling --- drivers/lightnvm/pblk-init.c | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/drivers/lightnvm/pblk-init.c b

[GIT PULL 25/25] lightnvm: pblk: refactor pblk_ppa_comp function

2018-01-05 Thread Matias Bjørling
Shorten function to simply return the value of the if statement. Signed-off-by: Matias Bjørling --- drivers/lightnvm/pblk.h | 5 + 1 file changed, 1 insertion(+), 4 deletions(-) diff --git a/drivers/lightnvm/pblk.h b/drivers/lightnvm/pblk.h index 8af374e..8c357fb 100644 --- a/drivers

[GIT PULL 21/25] lightnvm: pblk: ensure kthread alloc. before kicking it

2018-01-05 Thread Matias Bjørling
creation can be interrupted form user space, adapt the error path to not report an error when this happens, since it is intentional that the instance creation is aborted. Signed-off-by: Javier González Updated source to reflect the new timer_setup API. Signed-off-by: Matias Bjørling --- drivers

[GIT PULL 20/25] lightnvm: pblk: do not log recovery read errors

2018-01-05 Thread Matias Bjørling
t log them, as they are confusing when reviewing the logs. Signed-off-by: Javier González Signed-off-by: Matias Bjørling --- drivers/lightnvm/pblk-core.c | 6 +++--- drivers/lightnvm/pblk.h | 1 + 2 files changed, 4 insertions(+), 3 deletions(-) diff --git a/drivers/lightnvm/pblk-core.c

[GIT PULL 18/25] lightnvm: set target over-provision on create ioctl

2018-01-05 Thread Matias Bjørling
Holmberg Signed-off-by: Matias Bjørling --- drivers/lightnvm/core.c | 106 +- drivers/lightnvm/pblk-init.c | 5 +- drivers/lightnvm/pblk.h | 2 + include/linux/lightnvm.h | 6 +++ include/uapi/linux/lightnvm.h | 9 5 files

[GIT PULL 12/25] lightnvm: pblk: refactor emeta consistency check

2018-01-05 Thread Matias Bjørling
version. Signed-off-by: Hans Holmberg Signed-off-by: Javier González Signed-off-by: Matias Bjørling --- drivers/lightnvm/pblk-gc.c | 9 - drivers/lightnvm/pblk-recovery.c | 15 ++- drivers/lightnvm/pblk.h | 2 +- 3 files changed, 19 insertions(+), 7

[GIT PULL 19/25] lightnvm: pblk: ignore high ecc errors on recovery

2018-01-05 Thread Matias Bjørling
From: Javier González On recovery, do not stop L2P recovery if reads report high ECC error as the data is still available. Signed-off-by: Javier González Signed-off-by: Matias Bjørling --- drivers/lightnvm/pblk-recovery.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a

[GIT PULL 17/25] lightnvm: pblk: use exact free block counter in RL

2018-01-05 Thread Matias Bjørling
er to track the number of blocks being used for user data. Signed-off-by: Javier González Signed-off-by: Hans Holmberg Signed-off-by: Matias Bjørling --- drivers/lightnvm/pblk-core.c | 19 +- drivers/lightnvm/pblk-init.c | 18 +++--- drivers/lightnvm/pblk-recovery.c

[GIT PULL 16/25] lightnvm: pblk: remove pblk_gc_stop

2018-01-05 Thread Matias Bjørling
From: Hans Holmberg pblk_gc_stop just sets pblk->gc->gc_active to zero, ignoring the flush parameter. This is plain confusing, so remove the function and set the gc active flag at the call points instead. Signed-off-by: Hans Holmberg Signed-off-by: Javier González Signed-off-by:

[GIT PULL 14/25] lightnvm: pblk: clear flush point on completed writes

2018-01-05 Thread Matias Bjørling
From: Hans Holmberg Move completion of syncs and clearing of flush points to the write completion path - this ensures that the data has been comitted to the media before completing bios containing syncs. Signed-off-by: Hans Holmberg Signed-off-by: Javier González Signed-off-by: Matias

[GIT PULL 15/25] lightnvm: pblk: prevent premature sync point resets

2018-01-05 Thread Matias Bjørling
leted flush points. Signed-off-by: Hans Holmberg Signed-off-by: Javier González Signed-off-by: Matias Bjørling --- drivers/lightnvm/pblk-rb.c | 12 ++-- 1 file changed, 6 insertions(+), 6 deletions(-) diff --git a/drivers/lightnvm/pblk-rb.c b/drivers/lightnvm/pblk-rb.c index 672ef8c..ec

[GIT PULL 11/25] lightnvm: pblk: remove pblk_for_each_lun helper

2018-01-05 Thread Matias Bjørling
From: Javier González Signed-off-by: Javier González Signed-off-by: Matias Bjørling --- drivers/lightnvm/pblk.h | 4 1 file changed, 4 deletions(-) diff --git a/drivers/lightnvm/pblk.h b/drivers/lightnvm/pblk.h index d68a94d..1dbb0bf 100644 --- a/drivers/lightnvm/pblk.h +++ b/drivers

[GIT PULL 03/25] lightnvm: use internal pblk methods

2018-01-05 Thread Matias Bjørling
Now that rrpc has been removed, the only users of the ppa helpers is pblk. However, pblk already defines similar functions. Switch pblk to use the internal ones, and remove the generic ppa helpers. Signed-off-by: Matias Bjørling --- drivers/lightnvm/pblk-map.c | 2 +- drivers/lightnvm/pblk

[GIT PULL 09/25] lightnvm: guarantee target unique name across devs.

2018-01-05 Thread Matias Bjørling
: Javier González Signed-off-by: Matias Bjørling --- drivers/lightnvm/core.c | 33 +++-- 1 file changed, 27 insertions(+), 6 deletions(-) diff --git a/drivers/lightnvm/core.c b/drivers/lightnvm/core.c index 5c2d0f3..d5f231c 100644 --- a/drivers/lightnvm/core.c +++ b

[GIT PULL 10/25] lightnvm: pblk: compress and reorder helper functions

2018-01-05 Thread Matias Bjørling
From: Javier González Through time, we have generated some redundant helper functions. Refactor them to eliminate redundant and unnecessary code. Also, reorder them to improve readability Signed-off-by: Javier González Signed-off-by: Matias Bjørling --- drivers/lightnvm/pblk-core.c | 24

[GIT PULL 08/25] lightnvm: refactor target type lookup

2018-01-05 Thread Matias Bjørling
From: Javier González Refactor target type lookup to use/not use locks explicitly instead of using a hidden parameter to make the function locking. Signed-off-by: Javier González Signed-off-by: Matias Bjørling --- drivers/lightnvm/core.c | 30 +- 1 file changed

[GIT PULL 05/25] lightnvm: remove unnecessary field from nvm_rq

2018-01-05 Thread Matias Bjørling
From: Javier González Remove the wait filed in nvm_rq. It is not used anymore, as targets rely on the functionality provided by the LightNVM subsystem when sending sync I/O. Signed-off-by: Javier González Signed-off-by: Matias Bjørling --- include/linux/lightnvm.h | 1 - 1 file changed, 1

[GIT PULL 04/25] lightnvm: remove hybrid ocssd 1.2 support

2018-01-05 Thread Matias Bjørling
Now that rrpc have been removed. Also remove the hybrid 1.2 support from the core. Signed-off-by: Matias Bjørling --- drivers/lightnvm/core.c | 141 --- drivers/nvme/host/lightnvm.c | 96 - include/linux/lightnvm.h

[GIT PULL 07/25] lightnvm: make geometry structures 2.0 ready

2018-01-05 Thread Matias Bjørling
From: Matias Bjørling Prepare for the 2.0 revision by adapting the geometry structures to coexist with the 1.2 revision. Signed-off-by: Matias Bjørling Reviewed-by: Javier González Signed-off-by: Matias Bjørling --- drivers/lightnvm/core.c | 89

[GIT PULL 06/25] lightnvm: remove lower page tables

2018-01-05 Thread Matias Bjørling
The lower page table is unused. All page tables reported by 1.2 devices are all reporting a sequential 1:1 page mapping. This is also not used going forward with the 2.0 revision. Signed-off-by: Matias Bjørling Reviewed-by: Javier González Signed-off-by: Matias Bjørling --- drivers/lightnvm

[GIT PULL 01/25] null_blk: remove lightnvm support

2018-01-05 Thread Matias Bjørling
With rrpc to be removed, the null_blk lightnvm support is no longer functional. Remove the lightnvm implementation and maybe add it to another module in the future if someone takes on the challenge. Signed-off-by: Matias Bjørling --- drivers/block/null_blk.c | 220

Re: [GIT PULL 24/25] lightnvm: pblk: add iostat support

2018-01-05 Thread Matias Bjørling
On 01/05/2018 04:42 PM, Jens Axboe wrote: On Fri, Jan 05 2018, Matias Bjørling wrote: From: Javier González Since pblk registers its own block device, the iostat accounting is not automatically done for us. Therefore, add the necessary accounting logic to satisfy the iostat interface

Re: [GIT PULL 00/25] LightNVM updates for 4.16

2018-01-05 Thread Matias Bjørling
On 01/05/2018 04:50 PM, Jens Axboe wrote: On Fri, Jan 05 2018, Matias Bjørling wrote: Hi Jens, Here is a couple of patches for 4.16. This patchset prepares the lightnvm and pblk source code for the 2.0 specification release. The specification is close to its final revision. After these

Re: [GIT PULL 18/25] lightnvm: set target over-provision on create ioctl

2018-01-05 Thread Matias Bjørling
On 01/05/2018 08:52 PM, Javier Gonzalez wrote: On 5 Jan 2018, at 20.33, Randy Dunlap wrote: On 01/05/2018 05:16 AM, Matias Bjørling wrote: From: Javier González Allow to set the over-provision percentage on target creation. In case that the value is not provided, fall back to the default

Re: [GIT PULL 24/25] lightnvm: pblk: add iostat support

2018-01-08 Thread Matias Bjørling
On Mon, Jan 8, 2018 at 1:53 PM, Javier González wrote: >> On 8 Jan 2018, at 12.54, Christoph Hellwig wrote: >> >> On Fri, Jan 05, 2018 at 07:33:36PM +0100, Matias Bjørling wrote: >>> On 01/05/2018 04:42 PM, Jens Axboe wrote: >>>> On Fri, Jan 05 2018, Ma

Re: [PATCH] lightnvm/pblk-gc: Delete an error message for a failed memory allocation in pblk_gc_line_prepare_ws()

2018-01-16 Thread Matias Bjørling
On 01/16/2018 10:10 PM, SF Markus Elfring wrote: From: Markus Elfring Date: Tue, 16 Jan 2018 22:00:15 +0100 Omit an extra message for a memory allocation failure in this function. This issue was detected by using the Coccinelle software. Signed-off-by: Markus Elfring --- drivers/lightnvm/p

Re: [PATCH] lightnvm: pblk: refactor init/exit sequences

2018-03-05 Thread Matias Bjørling
On 03/05/2018 03:18 PM, Javier González wrote: On 5 Mar 2018, at 15.16, Matias Bjørling wrote: On 03/05/2018 02:45 PM, Javier González wrote: On 5 Mar 2018, at 14.38, Matias Bjørling wrote: On 03/01/2018 08:29 PM, Javier González wrote: On 1 Mar 2018, at 19.49, Matias Bjørling wrote: On

Re: [PATCH 08/12] lightnvm: implement get log report chunk helpers

2018-03-21 Thread Matias Bjørling
On 03/02/2018 04:21 PM, Javier González wrote: The 2.0 spec provides a report chunk log page that can be retrieved using the stangard nvme get log page. This replaces the dedicated get/put bad block table in 1.2. This patch implements the helper functions to allow targets retrieve the chunk meta

[PATCH] nvme: make nvme_get_log_ext non-static

2018-03-21 Thread Matias Bjørling
Enable the lightnvm integration to use the nvme_get_log_ext() function. Signed-off-by: Matias Bjørling --- drivers/nvme/host/core.c | 2 +- drivers/nvme/host/nvme.h | 3 +++ 2 files changed, 4 insertions(+), 1 deletion(-) diff --git a/drivers/nvme/host/core.c b/drivers/nvme/host/core.c index

Re: [PATCH 08/12] lightnvm: implement get log report chunk helpers

2018-03-21 Thread Matias Bjørling
On 03/21/2018 03:36 PM, Keith Busch wrote: On Wed, Mar 21, 2018 at 03:06:05AM -0700, Matias Bjørling wrote: outside of nvme core so that we can use it form lightnvm. Signed-off-by: Javier González --- drivers/lightnvm/core.c | 11 +++ drivers/nvme/host/core.c | 6

Re: problem with bio handling on raid5 and pblk

2018-03-22 Thread Matias Bjørling
On 03/22/2018 03:34 PM, Javier González wrote: Hi, I have been looking into a bug report when using pblk and raid5 on top and I am having problems understanding if the problem is in pblk's bio handling or on raid5's bio assumptions on the completion path. The problem occurs on the read path. In

[PATCH] lightnvm: remove function name in strings

2018-03-23 Thread Matias Bjørling
For the sysfs functions, the function names are embedded into their error strings. If the function name later changes, the string may not be updated accordingly. Update the strings to use __func__ to avoid this. Signed-off-by: Matias Bjørling --- drivers/nvme/host/lightnvm.c | 12

Re: [PATCH 4/4] nvme: lightnvm: add late setup of block size and metadata

2018-03-23 Thread Matias Bjørling
On 02/05/2018 01:15 PM, Matias Bjørling wrote: The nvme driver sets up the size of the nvme namespace in two steps. First it initializes the device with standard logical block and metadata sizes, and then sets the correct logical block and metadata size. Due to the OCSSD 2.0 specification relies

Re: [PATCH] ia64: export node_distance function

2018-11-20 Thread Matias Bjørling
On 11/03/2018 07:37 PM, Matias Bjørling wrote: The numa_slit variable used by node_distance is available to a module as long as it is linked at compile-time. However, it is not available to loadable modules. Leading to errors such as: ERROR: "numa_slit" [drivers/nvme/host/nv

[GIT PULL 00/20] lightnvm updates for 4.18

2018-05-28 Thread Matias Bjørling
verify that data returned from drive is appropriate. - Marcin added some extra logic to manage the write buffer. Now MW_CUNITS can be zero and the size of write buffer can be changed at module load time. Thanks, Matias Hans Holmberg (3): lightnvm: pblk: rework write error recovery path

[GIT PULL 01/20] lightnvm: pblk: fail gracefully on line alloc. failure

2018-05-28 Thread Matias Bjørling
From: Javier González In the event of a line failing to allocate, fail gracefully and stop the pipeline to avoid more write failing in the same place. Signed-off-by: Javier González Signed-off-by: Matias Bjørling --- drivers/lightnvm/pblk-init.c | 5 + drivers/lightnvm/pblk-map.c | 33

  1   2   3   4   5   6   7   8   9   10   >