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
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
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
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 +--
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.
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
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
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
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
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
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
: 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
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
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
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
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
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
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
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
- 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
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
- 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
- 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
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
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
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/
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
-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
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
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
-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
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
, 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
-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
, 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
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
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
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
-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
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
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
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
: 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
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
-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
, 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
+
+/* 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
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
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
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
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
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
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
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
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
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
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
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 +++
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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:
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
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
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
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
: 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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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 - 100 of 1088 matches
Mail list logo