On Fri, Nov 09, 2018 at 10:43:08AM +0000, fdmanana@xxxxxxxxxx wrote: > From: Filipe Manana <fdmanana@xxxxxxxx> > > We currently are in a loop finding each range (corresponding to a btree > node/leaf) in a log root's extent io tree and then clean it up. This is a > waste of time since we are traversing the extent io tree's rb_tree more > times then needed (one for a range lookup and another for cleaning it up) > without any good reason. > > We free the log trees when we are in the critical section of a transaction > commit (the transaction state is set to TRANS_STATE_COMMIT_DOING), so it's > of great convenience to do everything as fast as possible in order to > reduce the time we block other tasks from starting a new transaction. > > So fix this by traversing the extent io tree once and cleaning up all its > records in one go while traversing it. > > Signed-off-by: Filipe Manana <fdmanana@xxxxxxxx> Sheesh Reviewed-by: Josef Bacik <josef@xxxxxxxxxxxxxx> Thanks, Josef
