mirror of
https://github.com/SerenityOS/serenity.git
synced 2026-11-07 04:29:30 -10:00
AK: Move fence functions to AK/Fences.h
This commit is contained in:
1 parent
8444f82579
commit
1320a0512a
6 files changed
+27
-12
No files matched your search
-10
@@ -12,16 +12,6 @@
|
||||
|
||||
namespace AK {
|
||||
|
||||
static inline void atomic_signal_fence(MemoryOrder order) noexcept
|
||||
{
|
||||
return __atomic_signal_fence(order);
|
||||
}
|
||||
|
||||
static inline void atomic_thread_fence(MemoryOrder order) noexcept
|
||||
{
|
||||
return __atomic_thread_fence(order);
|
||||
}
|
||||
|
||||
template<typename T>
|
||||
static inline T atomic_exchange(T volatile* var, T desired, MemoryOrder order = memory_order_seq_cst) noexcept
|
||||
{
|
||||
|
||||
+23
@@ -0,0 +1,23 @@
|
||||
/*
|
||||
* Copyright (c) 2026, Sönke Holz <[email protected]>
|
||||
*
|
||||
* SPDX-License-Identifier: BSD-2-Clause
|
||||
*/
|
||||
|
||||
#pragma once
|
||||
|
||||
#include <AK/Types.h>
|
||||
|
||||
namespace AK {
|
||||
|
||||
static inline void atomic_signal_fence(MemoryOrder order) noexcept
|
||||
{
|
||||
return __atomic_signal_fence(order);
|
||||
}
|
||||
|
||||
static inline void atomic_thread_fence(MemoryOrder order) noexcept
|
||||
{
|
||||
return __atomic_thread_fence(order);
|
||||
}
|
||||
|
||||
}
|
||||
@@ -10,7 +10,7 @@
|
||||
|
||||
// This header provides architecture-agnostic abstractions for memory fences.
|
||||
// These fences should only be used to enforce memory ordering constraints when interacting with device memory.
|
||||
// When no device memory is involved, use atomic_thread_fence() from <AK/Atomic.h>.
|
||||
// When no device memory is involved, use atomic_thread_fence() from <AK/Fences.h>.
|
||||
// atomic_thread_fence() is generally not strong enough when interacting with device memory.
|
||||
|
||||
namespace Kernel {
|
||||
|
||||
@@ -6,7 +6,7 @@
|
||||
|
||||
#pragma once
|
||||
|
||||
#include <AK/Atomic.h>
|
||||
#include <AK/Fences.h>
|
||||
#include <AK/Optional.h>
|
||||
#include <AK/Types.h>
|
||||
|
||||
|
||||
@@ -5,6 +5,7 @@
|
||||
* SPDX-License-Identifier: BSD-2-Clause
|
||||
*/
|
||||
|
||||
#include <AK/Fences.h>
|
||||
#include <AK/Singleton.h>
|
||||
#include <Kernel/Debug.h>
|
||||
#include <Kernel/Memory/InodeVMObject.h>
|
||||
|
||||
@@ -7,6 +7,7 @@
|
||||
#pragma once
|
||||
|
||||
#include <AK/Atomic.h>
|
||||
#include <AK/Fences.h>
|
||||
#include <Kernel/Arch/Processor.h>
|
||||
|
||||
namespace Kernel {
|
||||
|
||||
Reference in new issue
Block a user