commit | 4664813a12c3500c930538949108feb72b307889 | [log] [tgz] |
---|---|---|
author | Alexander Razinkov <alexander.razinkov@syntacore.com> | Tue Aug 08 13:31:18 2023 +0300 |
committer | Anas Nashif <anas.nashif@intel.com> | Sat Nov 04 07:38:39 2023 -0400 |
tree | 6e1042941c91f4184eb2fd96d9e1c8368325fe5c | |
parent | 049b67aca94f0f6d79a83d48cc4882b36e39d885 [diff] |
kernel: spinlock: Ticket spinlocks Basic spinlock implementation is based on single atomic variable and doesn't guarantee locking fairness across multiple CPUs. It's even possible that single CPU will win the contention every time which will result in a live-lock. Ticket spinlocks provide a FIFO order of lock aquisition which resolves such unfairness issue at the cost of slightly increased memory footprint. Signed-off-by: Alexander Razinkov <alexander.razinkov@syntacore.com>