linux-block.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
* [PATCH 00/20] LightNVM: pblk patches for 4.13
@ 2017-06-26  9:57 Javier González
  2017-06-26  9:57 ` [PATCH 01/20] lightnvm: re-convert ppa format on I/O failure Javier González
                   ` (20 more replies)
  0 siblings, 21 replies; 25+ messages in thread
From: Javier González @ 2017-06-26  9:57 UTC (permalink / raw)
  To: mb, axboe; +Cc: linux-block, linux-kernel, Javier González

Hi Matias,

Here you have the pblk patchset for this window.

Apart from small fixes for LightNVM core and pblk, there are three
relevant changes:

 - Metadata for each line is no longer issued on a separate workqueue,
   but instead, all I/Os are scheduled on the write thread. This allows
   to have more control over LUN collisions. The result is that we can
   use the full bandwidth of the device for user data. In the 4.12 pblk,
   we use ~25% of the bandwidth for metadata.

 - The rate-limiter and GC have been tuned to keep the GC writer busy.
   Also, capacity per line is guaranteed for GC I/O as we reach
   capacity.

 - We have now a FTL state machine. This allows to fail gracefully to
   user space in case of irrecoverable errors. This state machine will
   be the base for the pblk's FTL log.

The patches apply into your for-4.13/core. You can also find them in:

  https://github.com/OpenChannelSSD/linux.git pblk.for-4.13

Thanks,
Javier

Javier González (20):
  lightnvm: re-convert ppa format on I/O failure
  lightnvm: propagate right error code to target
  lightnvm: pblk: spare double cpu_to_le64 calc.
  lightnvm: pblk: add debug stat for read cache hits
  lightnvm: pblk: expose max sec per write on sysfs
  lightnvm: pblk: generalize erase path
  lightnvm: pblk: rename read request pool
  lightnvm: pblk: sched. metadata on write thread
  lightnvm: pblk: delete redundant debug line stat
  lightnvm: pblk: delete redundant buffer pointer
  lightnvm: pblk: issue multiplane reads if possible
  lightnvm: pblk: simplify meta. memory allocation
  lightnvm: pblk: decouple bad block from line alloc
  lightnvm: pblk: choose optimal victim GC line
  lightnvm: pblk: set metadata list for all I/Os
  lightnvm: pblk: cleanup unnecessary code
  lightnvm: pblk: add lock assertions on helpers
  lightnvm: pblk: redesign GC algorithm
  lightnvm: pblk: set mempool and workqueue params.
  lightnvm: pblk: fail gracefully on irrec. error

 drivers/lightnvm/core.c          |   8 +-
 drivers/lightnvm/pblk-cache.c    |   8 +-
 drivers/lightnvm/pblk-core.c     | 606 ++++++++++++++++++++++++++-------------
 drivers/lightnvm/pblk-gc.c       | 488 ++++++++++++++++++-------------
 drivers/lightnvm/pblk-init.c     | 358 ++++++++++++++---------
 drivers/lightnvm/pblk-map.c      |  73 +++--
 drivers/lightnvm/pblk-rb.c       |  79 +++--
 drivers/lightnvm/pblk-read.c     |  82 +++---
 drivers/lightnvm/pblk-recovery.c | 130 +++++----
 drivers/lightnvm/pblk-rl.c       |  88 ++++--
 drivers/lightnvm/pblk-sysfs.c    | 114 ++++----
 drivers/lightnvm/pblk-write.c    | 350 +++++++++++++++++-----
 drivers/lightnvm/pblk.h          | 275 +++++++++++++-----
 drivers/nvme/host/lightnvm.c     |   2 +-
 14 files changed, 1763 insertions(+), 898 deletions(-)

-- 
2.7.4

^ permalink raw reply	[flat|nested] 25+ messages in thread

end of thread, other threads:[~2017-09-20 19:25 UTC | newest]

Thread overview: 25+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2017-06-26  9:57 [PATCH 00/20] LightNVM: pblk patches for 4.13 Javier González
2017-06-26  9:57 ` [PATCH 01/20] lightnvm: re-convert ppa format on I/O failure Javier González
2017-06-26  9:57 ` [PATCH 02/20] lightnvm: propagate right error code to target Javier González
2017-06-26  9:57 ` [PATCH 03/20] lightnvm: pblk: spare double cpu_to_le64 calc Javier González
2017-06-26  9:57 ` [PATCH 04/20] lightnvm: pblk: add debug stat for read cache hits Javier González
2017-06-26  9:57 ` [PATCH 05/20] lightnvm: pblk: expose max sec per write on sysfs Javier González
2017-06-26  9:57 ` [PATCH 06/20] lightnvm: pblk: generalize erase path Javier González
2017-06-26  9:57 ` [PATCH 07/20] lightnvm: pblk: rename read request pool Javier González
2017-06-26  9:57 ` [PATCH 08/20] lightnvm: pblk: sched. metadata on write thread Javier González
2017-09-20 18:28   ` Rakesh Pandit
2017-09-20 19:25     ` Rakesh Pandit
2017-06-26  9:57 ` [PATCH 09/20] lightnvm: pblk: delete redundant debug line stat Javier González
2017-06-26  9:57 ` [PATCH 10/20] lightnvm: pblk: delete redundant buffer pointer Javier González
2017-06-26  9:57 ` [PATCH 11/20] lightnvm: pblk: issue multiplane reads if possible Javier González
2017-06-26  9:57 ` [PATCH 12/20] lightnvm: pblk: simplify meta. memory allocation Javier González
2017-06-26  9:57 ` [PATCH 13/20] lightnvm: pblk: decouple bad block from line alloc Javier González
2017-06-26  9:57 ` [PATCH 14/20] lightnvm: pblk: choose optimal victim GC line Javier González
2017-06-26  9:57 ` [PATCH 15/20] lightnvm: pblk: set metadata list for all I/Os Javier González
2017-06-26  9:57 ` [PATCH 16/20] lightnvm: pblk: cleanup unnecessary code Javier González
2017-06-26  9:57 ` [PATCH 17/20] lightnvm: pblk: add lock assertions on helpers Javier González
2017-06-26  9:57 ` [PATCH 18/20] lightnvm: pblk: redesign GC algorithm Javier González
2017-06-26  9:57 ` [PATCH 19/20] lightnvm: pblk: set mempool and workqueue params Javier González
2017-06-26  9:57 ` [PATCH 20/20] lightnvm: pblk: fail gracefully on irrec. error Javier González
2017-06-26 22:29 ` [PATCH 00/20] LightNVM: pblk patches for 4.13 Jens Axboe
2017-06-27  8:00   ` Javier González

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).