diff options
| author | Dominik Kaszewski <dominik.kaszewski@amd.com> | 2026-07-22 12:28:00 +0200 |
|---|---|---|
| committer | Alex Deucher <alexander.deucher@amd.com> | 2026-09-17 11:38:26 -0400 |
| commit | 6f74688d7e2377e253671d36acd63a988186216b (patch) | |
| tree | b87484f449dc1bafc0feae97a4e5d334fc6652c4 /tools/perf/scripts/python/export-to-postgresql.py | |
| parent | ad726d863900eb0de0f03fae5b9cabd214263343 (diff) | |
| download | linux-6f74688d7e2377e253671d36acd63a988186216b.tar.gz linux-6f74688d7e2377e253671d36acd63a988186216b.zip | |
drm/amd/display: Add lock-free memory pool
[Why]
Two memory limitations - limited stack size and heap allocations
not allowed in interrupts - combined together lead to scratch
structures and buffers scattered throughout the code, requiring
piping them through interfaces.
[How]
* OS-provided lock-free lists still need external locking for some
operations, requiring a custom implementation.
* Implement memory pool which can preallocate a number of blocks
with given size, then later "allocate" from them without any heap use.
* Pool implemented as lock-free Treiber stack to avoid operations
being blocked by suspended thread, including a same-thread interrupt
exemption causing an indefinite block.
* Indexed free list and generation counter protect against ABA
data corruption.
Reviewed-by: Nicholas Kazlauskas <nicholas.kazlauskas@amd.com>
Signed-off-by: Dominik Kaszewski <dominik.kaszewski@amd.com>
Signed-off-by: Chenyu Chen <chen-yu.chen@amd.com>
Tested-by: Daniel Wheeler <daniel.wheeler@amd.com>
Signed-off-by: Alex Deucher <alexander.deucher@amd.com>
Diffstat (limited to 'tools/perf/scripts/python/export-to-postgresql.py')
0 files changed, 0 insertions, 0 deletions
