|
|
Log in / Subscribe / Register

nvm page allocator for bcache

From:  Qiaowei Ren <qiaowei.ren-AT-intel.com>
To:  Coly Li <colyli-AT-suse.de>
Subject:  [bch-nvm-pages v7 0/6] nvm page allocator for bcache
Date:  Wed, 17 Mar 2021 11:10:23 -0400
Message-ID:  <20210317151029.40735-1-qiaowei.ren@intel.com>
Cc:  Qiaowei Ren <qiaowei.ren-AT-intel.com>, Jianpeng Ma <jianpeng.ma-AT-intel.com>, linux-bcache-AT-vger.kernel.org
Archive-link:  Article

This series implements nvm pages allocator for bcache. This idea is from
one discussion about nvdimm use case in kernel together with Coly. Coly
sent the following email about this idea to give some introduction on what
we will do before:

https://lore.kernel.org/linux-bcache/bc7e71ec-97eb-b226-d...

Here this series focus on the first step in above email, that is to say,
this patch set implements a generic framework in bcache to allocate/release
NV-memory pages, and provide allocated pages for each requestor after reboot.
In order to do this, one simple buddy system is implemented to manage NV-memory
pages.

This set includes one testing module which can be used for simple test cases.
Next need to stroe bcache log or internal btree nodes into nvdimm based on
these buddy apis to do more testing.


Coly Li (1):
  bcache: add initial data structures for nvm pages

Jianpeng Ma (5):
  bcache: initialize the nvm pages allocator
  bcache: initialization of the buddy
  bcache: bch_nvm_alloc_pages() of the buddy
  bcache: bch_nvm_free_pages() of the buddy
  bcache: get allocated pages from specific owner

 drivers/md/bcache/Kconfig       |   6 +
 drivers/md/bcache/Makefile      |   2 +-
 drivers/md/bcache/nvm-pages.c   | 737 ++++++++++++++++++++++++++++++++
 drivers/md/bcache/nvm-pages.h   |  91 ++++
 drivers/md/bcache/super.c       |   3 +
 include/uapi/linux/bcache-nvm.h | 196 +++++++++
 6 files changed, 1034 insertions(+), 1 deletion(-)
 create mode 100644 drivers/md/bcache/nvm-pages.c
 create mode 100644 drivers/md/bcache/nvm-pages.h
 create mode 100644 include/uapi/linux/bcache-nvm.h

-- 
2.25.1



Copyright © 2021, Eklektix, Inc.
Comments and public postings are copyrighted by their creators.
Linux is a registered trademark of Linus Torvalds