David Goldblatt
|
cdae6706a6
|
SEC: Use batch fills.
Currently, this doesn't help much, since no PAI implementation supports
flushing. This will change in subsequent commits.
|
2021-02-19 15:10:54 -08:00 |
|
David Goldblatt
|
480f3b11cd
|
Add a batch allocation interface to the PAI.
For now, no real allocator actually implements this interface; this will change
in subsequent diffs.
|
2021-02-19 15:10:54 -08:00 |
|
David Goldblatt
|
bf448d7a5a
|
SEC: Reduce lock hold times.
Only flush a subset of extents during flushing, and drop the lock while doing
so.
|
2021-02-19 15:10:54 -08:00 |
|
David Goldblatt
|
1944ebbe7f
|
HPA: Implement batch deallocation.
This saves O(n) mutex locks/unlocks during SEC flush.
|
2021-02-19 15:10:54 -08:00 |
|
David Goldblatt
|
f47b4c2cd8
|
PAI/SEC: Add a dalloc_batch function.
This lets the SEC flush all of its items in a single call, rather than flushing
everything at once.
|
2021-02-19 15:10:54 -08:00 |
|
David Goldblatt
|
ea32060f9c
|
SEC: Implement thread affinity.
For now, just have every thread pick a shard once and stick with it.
|
2020-10-23 11:14:34 -07:00 |
|
David Goldblatt
|
ea51e97bb8
|
Add SEC module: a small extent cache.
This can be used to take pressure off a more centralized, worse-sharded
allocator without requiring a full break of the arena abstraction.
|
2020-10-23 11:14:34 -07:00 |
|