lists.openwall.net   lists  /  announce  owl-users  owl-dev  john-users  john-dev  passwdqc-users  yescrypt  popa3d-users  /  oss-security  kernel-hardening  musl  sabotage  tlsify  passwords  /  crypt-dev  xvendor  /  Bugtraq  Full-Disclosure  linux-kernel  linux-netdev  linux-ext4  linux-hardening  linux-cve-announce  PHC 
Open Source and information security mailing list archives
 
Hash Suite: Windows password security audit tool. GUI, reports in PDF.
[<prev] [next>] [thread-next>] [day] [month] [year] [list]
Date:   Mon, 26 Jun 2017 11:57:09 +0200
From:   "Javier González" <jg@...htnvm.io>
To:     mb@...htnvm.io, axboe@...com
Cc:     linux-block@...r.kernel.org, linux-kernel@...r.kernel.org,
        Javier González <javier@...xlabs.com>
Subject: [PATCH 00/20] LightNVM: pblk patches for 4.13

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

Powered by blists - more mailing lists

Powered by Openwall GNU/*/Linux Powered by OpenVZ