Proposed Persistent Cache For Block Devices "PCACHE" Ported To DM Framework
([Linux Storage] 6 Hours Ago
PCACHE)
- Reference: 0001551404
- News link: https://www.phoronix.com/news/Linux-PCACHE-RFC-v2
- Source link:
An initial patch series sent back out in April [1]proposed PCACHE as a persistent memory cache for block devices . PCACHE was born out of the CXL block device driver and brings some benefits over the likes of BCache and dm-writecache.
PCACHE was proposed for offering lower write latency than the existing Linux block cache "Bcache" code, greater concurrency using persistent memory DAX, much greater performance, read cache support unlike dm-writecache, and greater integrity characteristics.
Posted today to the Linux kernel mailing list were the [2]RFC v2 patch series for PCACHE... Or rather now, dm-pcache.
The PCACHE code has been ported over to the Device Mapper (DM) framework and thus now taking on the name dm-pcache. This port allows for this new persistent cache to be exposed as a regular DM target.
Main features
- 16 MiB pmem segments, log-structured allocation.
- Multi-subtree RB-tree index for high parallelism.
- Optional per-entry *CRC32* on cached data.
- Background *write-back* worker and watermark-driven *GC*.
- Crash-safe replay: key-sets are scanned from *key_tail* on start-up.
Current limitations
- Only *write-back* mode implemented.
- Only FIFO cache invalidate; other (LRU, ARC...) planned.
Those wanting to learn more about dm-pcache as a proposed persistent cache for Linux block devices can check out the new [3]patches for all the details.
[1] https://www.phoronix.com/news/Linux-PCACHE-RFC
[2] https://lore.kernel.org/lkml/20250605142306.1930831-1-dongsheng.yang@linux.dev/
[3] https://lore.kernel.org/lkml/20250605142306.1930831-1-dongsheng.yang@linux.dev/
PCACHE was proposed for offering lower write latency than the existing Linux block cache "Bcache" code, greater concurrency using persistent memory DAX, much greater performance, read cache support unlike dm-writecache, and greater integrity characteristics.
Posted today to the Linux kernel mailing list were the [2]RFC v2 patch series for PCACHE... Or rather now, dm-pcache.
The PCACHE code has been ported over to the Device Mapper (DM) framework and thus now taking on the name dm-pcache. This port allows for this new persistent cache to be exposed as a regular DM target.
Main features
- 16 MiB pmem segments, log-structured allocation.
- Multi-subtree RB-tree index for high parallelism.
- Optional per-entry *CRC32* on cached data.
- Background *write-back* worker and watermark-driven *GC*.
- Crash-safe replay: key-sets are scanned from *key_tail* on start-up.
Current limitations
- Only *write-back* mode implemented.
- Only FIFO cache invalidate; other (LRU, ARC...) planned.
Those wanting to learn more about dm-pcache as a proposed persistent cache for Linux block devices can check out the new [3]patches for all the details.
[1] https://www.phoronix.com/news/Linux-PCACHE-RFC
[2] https://lore.kernel.org/lkml/20250605142306.1930831-1-dongsheng.yang@linux.dev/
[3] https://lore.kernel.org/lkml/20250605142306.1930831-1-dongsheng.yang@linux.dev/
Kjell