Red Hat Scores A Huge DM Optimization For Linux 5.14
Red Hat engineers have scored an impressive performance optimization to the DeviceMapper (DM) code that is now queued up for merging with the Linux 5.14 cycle.
The commit dm space maps: improve performance with inc/dec on ranges of blocks was summed up as, "When we break sharing on btree nodes we typically need to increment the reference counts to every value held in the node. This can cause a lot of repeated calls to the space maps. Fix this by changing the interface to the space map inc/dec methods to take ranges of adjacent blocks to be operated on."
While that may not seem too exciting, the performance impact is dramatic. "For installations that are using a lot of snapshots this will reduce cpu overhead of fundamental operations such as provisioning a new block, or deleting a snapshot, by as much as 10 times."
Dealing with DM snapshots showing CPU overhead lower by as much as ten times is certainly exciting... Besides that particular patch, there is also another one queued up to cache a small number of index entries with that change provisioning a new block takes roughly 20% less CPU time. And another patch worth mentioning is for improving BTree residency.
Great work by Red Hat engineers continuing to improve Linux's storage support and these DM improvements in turn should also help out their Stratis Storage effort.
The commit dm space maps: improve performance with inc/dec on ranges of blocks was summed up as, "When we break sharing on btree nodes we typically need to increment the reference counts to every value held in the node. This can cause a lot of repeated calls to the space maps. Fix this by changing the interface to the space map inc/dec methods to take ranges of adjacent blocks to be operated on."
While that may not seem too exciting, the performance impact is dramatic. "For installations that are using a lot of snapshots this will reduce cpu overhead of fundamental operations such as provisioning a new block, or deleting a snapshot, by as much as 10 times."
Dealing with DM snapshots showing CPU overhead lower by as much as ten times is certainly exciting... Besides that particular patch, there is also another one queued up to cache a small number of index entries with that change provisioning a new block takes roughly 20% less CPU time. And another patch worth mentioning is for improving BTree residency.
Great work by Red Hat engineers continuing to improve Linux's storage support and these DM improvements in turn should also help out their Stratis Storage effort.
10 Comments