[PATCH 00/20] LightNVM: pblk patches for 4.13

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



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




[Index of Archives]     [Linux RAID]     [Linux SCSI]     [Linux ATA RAID]     [IDE]     [Linux Wireless]     [Linux Kernel]     [ATH6KL]     [Linux Bluetooth]     [Linux Netdev]     [Kernel Newbies]     [Security]     [Git]     [Netfilter]     [Bugtraq]     [Yosemite News]     [MIPS Linux]     [ARM Linux]     [Linux Security]     [Device Mapper]

  Powered by Linux