dm space map: optimise sm_ll_dec and sm_ll_inc
authorJoe Thornber <ejt@redhat.com>
Fri, 9 Aug 2013 12:04:56 +0000 (13:04 +0100)
committerMike Snitzer <snitzer@redhat.com>
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 <ejt@redhat.com>
Signed-off-by: Mike Snitzer <snitzer@redhat.com>
Signed-off-by: Alasdair G Kergon <agk@redhat.com>
drivers/md/persistent-data/dm-space-map-common.c