linux-bcache.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
* [PATCH 0/6] bcache: store bcache journal on NVDIMM pages
@ 2021-02-07 15:24 Coly Li
  2021-02-07 15:24 ` [PATCH 1/6] bcache: use bucket index for SET_GC_MARK() in bch_btree_gc_finish() Coly Li
                   ` (5 more replies)
  0 siblings, 6 replies; 7+ messages in thread
From: Coly Li @ 2021-02-07 15:24 UTC (permalink / raw)
  To: linux-bcache; +Cc: linux-block, jianpeng.ma, qiaowei.ren, Coly Li

Hi folks,

This is the first effort to store bcache meta data on NVDIMM, now the
bcache journal can be stored on NVDIMM pages. 

The bcache code does not directly support NVDIMM, the NVDIMM pages are
managed with a simple buddy-like pages alocator nvm-pages. The nvm-pages
allocator is developed by Jianpeng Ma and Qiaowei Ren from Intel. It
could be a separated kernel module to manage NVDIMM space in form of
pages and share them among multiple users (drivers). Now nvm-pages is
directly included in bcache kernel module as EXPERIMENTAL function.

This series is a just-enough code to work, we will continue to improve
both bcache and nvm-pages allocator before removing the EXPERIMENTAL tag
from Kconfig. In the very basic testing 30%+ IOPS increasing is observed
for 512Byte random writes when storing bcache journal jset on NVDIMM
namespace.

Thanks to Jianpeng Ma and Qiaowei Re fo their contribution to the mini
nvm-pages allocator, which helps a lot to allocate and release the pages
from NVDIMM nagespace much simpler for bcache journaling.

Coly Li
---

Coly Li (6):
  bcache: use bucket index for SET_GC_MARK() in bch_btree_gc_finish()
  bcache: add BCH_FEATURE_INCOMPAT_NVDIMM_META into incompat feature set
  bcache: initialize bcache journal for NVDIMM meta device
  bcache: support storing bcache journal into NVDIMM meta device
  bache: read jset from NVDIMM pages for journal replay
  bcache: add sysfs interface register_nvdimm_meta to register NVDIMM
    meta device

 drivers/md/bcache/btree.c    |   6 +-
 drivers/md/bcache/features.h |   9 ++
 drivers/md/bcache/journal.c  | 288 +++++++++++++++++++++++++++--------
 drivers/md/bcache/journal.h  |   2 +-
 drivers/md/bcache/super.c    |  38 ++++-
 5 files changed, 274 insertions(+), 69 deletions(-)

-- 
2.26.2


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

end of thread, other threads:[~2021-02-07 15:30 UTC | newest]

Thread overview: 7+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2021-02-07 15:24 [PATCH 0/6] bcache: store bcache journal on NVDIMM pages Coly Li
2021-02-07 15:24 ` [PATCH 1/6] bcache: use bucket index for SET_GC_MARK() in bch_btree_gc_finish() Coly Li
2021-02-07 15:24 ` [PATCH 2/6] bcache: add BCH_FEATURE_INCOMPAT_NVDIMM_META into incompat feature set Coly Li
2021-02-07 15:24 ` [PATCH 3/6] bcache: initialize bcache journal for NVDIMM meta device Coly Li
2021-02-07 15:24 ` [PATCH 4/6] bcache: support storing bcache journal into " Coly Li
2021-02-07 15:24 ` [PATCH 5/6] bache: read jset from NVDIMM pages for journal replay Coly Li
2021-02-07 15:24 ` [PATCH 6/6] bcache: add sysfs interface register_nvdimm_meta to register NVDIMM meta device Coly Li

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