Do not allocate/commit transactions in tight loops

A transaction is additive and there's little harm in commiting empty
ones. Move allocation/commit outside of tight loops, such that we get
proper bulking.

Change-Id: I1f4920965c8ecf3091b6afb69ce1e1baa7ca0e24
Signed-off-by: Robert Varga <rovarga@cisco.com>
Merge "Do not allocate/commit transactions in tight loops"