Re: [PATCH v2 8/8] block: Init for CBD(CXL Block Device) module

From: Dongsheng Yang
Date: Tue Sep 24 2024 - 21:49:10 EST


Hi Randy,

在 2024/9/25 星期三 上午 12:35, Randy Dunlap 写道:
Hi.

On 9/18/24 3:18 AM, Dongsheng Yang wrote:
diff --git a/drivers/block/cbd/Kconfig b/drivers/block/cbd/Kconfig
new file mode 100644
index 000000000000..16ffcca058c5
--- /dev/null
+++ b/drivers/block/cbd/Kconfig
@@ -0,0 +1,45 @@
+config BLK_DEV_CBD
+ tristate "CXL Block Device (Experimental)"
+ depends on DEV_DAX && FS_DAX
+ help
+ CBD allows you to register a persistent memory device as a CBD transport.
+ You can use this persistent memory as a data cache to improve your block
+ device performance. Additionally, if you enable CBD_MULTIHOST, cbd allows

s/cbd/CBD/ for consistency. Or does 'cbd' here explicitly refer to the loadable module
name?

I will use uppercase "CBD" in the next version for consistency.

+ you to access block devices on a remote host as if they were local disks.
+
+ Select 'y' to build this module directly into the kernel.
+ Select 'm' to build this module as a loadable kernel module.
+ The module will be called cbd.

+
+ If unsure say 'N'.
+
+config CBD_CRC
+ bool "Enable CBD checksum"
+ default N

We usually omit 'default N' since that is the default default.

I explicitly added "default" here to make it clearer. In fact, I did a search:

find . -name 'Kconfig' -exec grep 'default n' {} + | wc -l

There are over 400+ of "default n" in the Kconfig files. (I will use 'default n' in next version)

+ depends on BLK_DEV_CBD
+ help
+ When CBD_CRC is enabled, all data sent by CBD will include
+ a checksum. This includes a data checksum, a submit entry checksum,
+ and a completion entry checksum. This ensures the integrity of the
+ data transmitted through the CXL memory device.
+
+config CBD_DEBUG
+ bool "Enable CBD debug"
+ default N

Ditto.

+ depends on BLK_DEV_CBD
+ help
+ When CBD_DEBUG is enabled, cbd module will print more messages
+ for debugging. But that will affact performance, so do not use it

affect

+ in production case.
+
+config CBD_MULTIHOST
+ bool "multi-hosts CXL Dlock Device"

Block

+ default N

drop default line.

+ depends on BLK_DEV_CBD
+ help
+ When CBD_MULTIHOST is enabled, cbd allows the use of a shared memory device

cbd or CBD?

+ as a cbd transport. In this mode, the blkdev and backends on different

ditto.

+ hosts can be connected through the shared memory device, enabling cross-node
+ disk access.
+
+ IMPORTANT: This Require your shared memory device support Hardware-consistency

requires supports

+ as CXL 3.0 described.

as described in CXL 3.0.

agreed.

Thank you for your review.

Dongsheng