dm space map: optimise sm_ll_dec and sm_ll_inc
authorJoe Thornber <[email protected]>
Fri, 9 Aug 2013 12:04:56 +0000 (13:04 +0100)
committerMike Snitzer <[email protected]>
Fri, 23 Aug 2013 13:02:14 +0000 (09:02 -0400)
commitf722063ee01c0060488e1000006405449451cfa0
treeaffc57a30e5db203fac2133344e29c0dad4865e5
parent04f17c802f447e76d13ade5bb78fbbf34baef0f8
dm space map: optimise sm_ll_dec and sm_ll_inc

Prior to this patch these methods did a lookup followed by an insert.
Instead they now call a common mutate function that adjusts the value
according to a callback function.  This avoids traversing the data
structures twice and hence improves performance.

Also factor out sm_ll_lookup_big_ref_count() for use by both
sm_ll_lookup() and sm_ll_mutate().

Signed-off-by: Joe Thornber <[email protected]>
Signed-off-by: Mike Snitzer <[email protected]>
Signed-off-by: Alasdair G Kergon <[email protected]>
drivers/md/persistent-data/dm-space-map-common.c