mirror of https://lore.kernel.org/lkml/
 help / color / mirror / Atom feed
From: "Javier González" <jg@lightnvm.io>
To: mb@lightnvm.io
Cc: linux-kernel@vger.kernel.org, linux-block@vger.kernel.org
Subject: [RFC 0/4] lightnvm: add write buffering to rrpc
Date: Thu,  4 Feb 2016 14:08:15 +0100	[thread overview]
Message-ID: <1454591299-30305-1-git-send-email-javier@javigon.com> (raw)

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

             reply	other threads:[~2016-02-04 13:08 UTC|newest]

Thread overview: 9+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2016-02-04 13:08 Javier González [this message]
2016-02-04 13:08 ` [RFC 1/4] lightnvm: precalculate controller write boundaries Javier González
2016-02-05 14:53   ` Matias Bjørling
2016-02-04 13:08 ` [RFC 2/4] lightnvm: add write buffering for rrpc Javier González
2016-02-05 14:52   ` Matias Bjørling
2016-02-08  7:31     ` Javier González
2016-02-04 13:08 ` [RFC 3/4] lightnvm: read from rrpc write buffer if possible Javier González
2016-02-05 14:54   ` Matias Bjørling
2016-02-04 13:08 ` [RFC 4/4] lightnvm: add debug info for rrpc target Javier González

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=1454591299-30305-1-git-send-email-javier@javigon.com \
    --to=jg@lightnvm.io \
    --cc=linux-block@vger.kernel.org \
    --cc=linux-kernel@vger.kernel.org \
    --cc=mb@lightnvm.io \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox

all inboxes | Powered by JetHome®