diff options
author | Mike Galbraith <umgwanakikbuti@gmail.com> | 2024-09-06 16:14:43 +0200 |
---|---|---|
committer | Jens Axboe <axboe@kernel.dk> | 2024-09-06 08:51:08 -0600 |
commit | 9518e5bfaae19447d657983d0628062ab6712610 (patch) | |
tree | 753e393d436841da8c595f6356859ecd09901217 /drivers/gpu/drm/amd/amdgpu/amdgpu_gem.c | |
parent | 296dbc72d29085d5fc34430d0760423071e9e81d (diff) |
zram: Replace bit spinlocks with a spinlock_t.
The bit spinlock disables preemption. The spinlock_t lock becomes a sleeping
lock on PREEMPT_RT and it can not be acquired in this context. In this locked
section, zs_free() acquires a zs_pool::lock, and there is access to
zram::wb_limit_lock.
Add a spinlock_t for locking. Keep the set/ clear ZRAM_LOCK bit after
the lock has been acquired/ dropped. The size of struct zram_table_entry
increases by 4 bytes due to lock and additional 4 bytes padding with
CONFIG_ZRAM_TRACK_ENTRY_ACTIME enabled.
Signed-off-by: Mike Galbraith <umgwanakikbuti@gmail.com>
Reviewed-by: Sergey Senozhatsky <senozhatsky@chromium.org>
Signed-off-by: Sebastian Andrzej Siewior <bigeasy@linutronix.de>
Reviewed-by: Jens Axboe <axboe@kernel.dk>
Link: https://lore.kernel.org/r/20240906141520.730009-2-bigeasy@linutronix.de
Signed-off-by: Jens Axboe <axboe@kernel.dk>
Diffstat (limited to 'drivers/gpu/drm/amd/amdgpu/amdgpu_gem.c')
0 files changed, 0 insertions, 0 deletions