On 3/17/21 11:10 PM, Qiaowei Ren wrote: > 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-d4fc-d8b64c1ef41a@xxxxxxx/ > > 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 > Hi Qiaowei and Jianpeng, Thanks for the improved version. Now I start to work on the integration and testing, and the on-nvdimm data structure will change a little by the feed back from Jens. I will update later for the result or issue during my testing. Coly Li