Proposed Persistent Cache For Block Devices "PCACHE" Ported To DM Framework
An initial patch series sent back out in April 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 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.
Those wanting to learn more about dm-pcache as a proposed persistent cache for Linux block devices can check out the new patches for all the details.
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 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 patches for all the details.
