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]
Message-Id: <1454591299-30305-1-git-send-email-javier@javigon.com>
Date:	Thu,  4 Feb 2016 14:08:15 +0100
From:	"Javier González" <jg@...htnvm.io>
To:	mb@...htnvm.io
Cc:	linux-kernel@...r.kernel.org, linux-block@...r.kernel.org
Subject: [RFC 0/4] lightnvm: add write buffering to rrpc

Hi,

This patchset adds write buffering to rrpc. This is necessary to support
writes that are smaller than the actual flash controller page size.
Typically, these are larger tahn 4K (e.g., 64K) since they are organized
organized in several 4K sectors and planes.

The code can be tested on the lightnvm enabled qemu, built on top of
Keith Busch's qemu-nvme [1]. At the moment, different flushing
strategies are enabled by flags. I am now working on flushing the writer
work queue when syncs are not aligned with the device's page size, but
this should not change the general architecture.

Any feedback on the architecture, design and implementation are more
than welcome.

Thanks,
Javier

[1] https://github.com/OpenChannelSSD/qemu-nvme

Javier González (4):
  lightnvm: precalculate controller write boundaries
  lightnvm: add write buffering for rrpc
  lightnvm: read from rrpc write buffer if possible
  lightnvm: add debug info for rrpc target

 drivers/lightnvm/core.c  |   10 +
 drivers/lightnvm/rrpc.c  | 1233 ++++++++++++++++++++++++++++++++++++++--------
 drivers/lightnvm/rrpc.h  |   93 +++-
 include/linux/lightnvm.h |   11 +-
 4 files changed, 1138 insertions(+), 209 deletions(-)

-- 
2.1.4

Powered by blists - more mailing lists

Powered by Openwall GNU/*/Linux Powered by OpenVZ