ut-osa / strata

Strata: A Cross Media File System
69 stars 42 forks source link

kernel compilation failure when enable NVDIMM #21

Open xxks-kkk opened 5 years ago

xxks-kkk commented 5 years ago

We follow the guide here and enable the NVDIMM for the kernel in order to Setup NVM (DEV-DAX) emulation. After we do make -j4 to build the shipped the kernel, we got the following error message:

<-- snip -->
Setup is 17436 bytes (padded to 17920 bytes).
System is 7506 kB
CRC 32bdaf7c
Kernel: arch/x86/boot/bzImage is ready  (#2)
ERROR: "perfmodel_add_delay" [drivers/nvdimm/nd_pmem.ko] undefined!
ERROR: "nvm_perf_model" [drivers/nvdimm/nd_pmem.ko] undefined!
/home/ubuntu/strata/kernel/linux-4.8.12/scripts/Makefile.modpost:91: recipe for target '__modpost' failed
make[3]: *** [__modpost] Error 1
/home/ubuntu/strata/kernel/linux-4.8.12/Makefile:1180: recipe for target 'modules' failed
make[2]: *** [modules] Error 2
Makefile:150: recipe for target 'sub-make' failed
make[1]: *** [sub-make] Error 2
Makefile:24: recipe for target '__sub-make' failed
make: *** [__sub-make] Error 2

Do you have any clue how might this issue got fixed?

Thanks!

KezhengLiu commented 2 years ago

That is because you set the CONFIG_BLK_DEV_PMEM and CONFIG_ND_BLK to modules and set CONFIG_MLFS=y

KezhengLiu commented 2 years ago

CONFIG_MLFS is written for strata to add lantency to dram for emulation Its Kconfig says: "Enable performance model for EXT4-DAX" kernel modules in general can not reference a function in the kernel unless it is exported to modules using EXPORT_SYMBOL

KezhengLiu commented 2 years ago

It seems that you guys have fixed this problem. Why not just give your question an answer by yourself? @xxks-kkk It could be helpful... 😅