aboutsummaryrefslogtreecommitdiff
path: root/tools/perf/scripts/python
diff options
context:
space:
mode:
authorEdmund Nadolski <[email protected]>2017-07-12 16:20:06 -0600
committerDavid Sterba <[email protected]>2017-08-16 16:11:55 +0200
commit86d5f994425252d8a40e2184c94a2682ae8ecfbf (patch)
tree4b6014e8e13e66a102745af0d9ef761f8a4e4105 /tools/perf/scripts/python
parentf6954245d9e17902a66a1253d2a3afc05e335172 (diff)
btrfs: convert prelimary reference tracking to use rbtrees
It's been known for a while that the use of multiple lists that are periodically merged was an algorithmic problem within btrfs. There are several workloads that don't complete in any reasonable amount of time (e.g. btrfs/130) and others that cause soft lockups. The solution is to use a set of rbtrees that do insertion merging for both indirect and direct refs, with the former converting refs into the latter. The result is a btrfs/130 workload that used to take several hours now takes about half of that. This runtime still isn't acceptable and a future patch will address that by moving the rbtrees higher in the stack so the lookups can be shared across multiple calls to find_parent_nodes. Signed-off-by: Edmund Nadolski <[email protected]> Signed-off-by: Jeff Mahoney <[email protected]> Reviewed-by: Liu Bo <[email protected]> Signed-off-by: David Sterba <[email protected]>
Diffstat (limited to 'tools/perf/scripts/python')
0 files changed, 0 insertions, 0 deletions