/DragonOS-0.1.5/kernel/src/common/ |
D | atomic.h | 13 #define atomic_read(atomic) ((atomic)->value) // 读取原子变量 argument 14 #define atomic_set(atomic,val) (((atomic)->value) = (val)) // 设置原子变量的初始值 argument
|
/DragonOS-0.1.5/kernel/src/arch/x86_64/ |
D | context.rs | 3 use core::sync::atomic::compiler_fence; 14 compiler_fence(core::sync::atomic::Ordering::SeqCst); in switch_process() 18 compiler_fence(core::sync::atomic::Ordering::SeqCst); in switch_process()
|
/DragonOS-0.1.5/kernel/src/arch/x86_64/asm/ |
D | current.rs | 3 use core::{arch::asm, sync::atomic::compiler_fence}; 11 compiler_fence(core::sync::atomic::Ordering::SeqCst); in current_pcb() 13 compiler_fence(core::sync::atomic::Ordering::SeqCst); in current_pcb()
|
/DragonOS-0.1.5/kernel/src/driver/disk/ahci/ |
D | mod.rs | 25 use core::sync::atomic::compiler_fence; 52 compiler_fence(core::sync::atomic::Ordering::SeqCst); in ahci_rust_init() 60 compiler_fence(core::sync::atomic::Ordering::SeqCst); in ahci_rust_init() 69 compiler_fence(core::sync::atomic::Ordering::SeqCst); in ahci_rust_init() 78 compiler_fence(core::sync::atomic::Ordering::SeqCst); in ahci_rust_init() 82 compiler_fence(core::sync::atomic::Ordering::SeqCst); in ahci_rust_init() 89 compiler_fence(core::sync::atomic::Ordering::SeqCst); in ahci_rust_init() 110 compiler_fence(core::sync::atomic::Ordering::SeqCst); in ahci_rust_init() 124 compiler_fence(core::sync::atomic::Ordering::SeqCst); in ahci_rust_init() 157 compiler_fence(core::sync::atomic::Ordering::SeqCst); in ahci_rust_init() [all …]
|
D | ahcidisk.rs | 21 use core::sync::atomic::compiler_fence; 58 compiler_fence(core::sync::atomic::Ordering::SeqCst); in read_at() 180 compiler_fence(core::sync::atomic::Ordering::SeqCst); in read_at() 191 compiler_fence(core::sync::atomic::Ordering::SeqCst); in write_at() 210 compiler_fence(core::sync::atomic::Ordering::SeqCst); in write_at() 220 compiler_fence(core::sync::atomic::Ordering::SeqCst); in write_at() 232 compiler_fence(core::sync::atomic::Ordering::SeqCst); in write_at() 241 compiler_fence(core::sync::atomic::Ordering::SeqCst); in write_at() 302 compiler_fence(core::sync::atomic::Ordering::SeqCst); in write_at()
|
D | hba.rs | 4 use core::sync::atomic::compiler_fence; 203 compiler_fence(core::sync::atomic::Ordering::SeqCst); in init() 212 compiler_fence(core::sync::atomic::Ordering::SeqCst); in init() 224 compiler_fence(core::sync::atomic::Ordering::SeqCst); in init()
|
/DragonOS-0.1.5/kernel/src/process/ |
D | fork.rs | 1 use core::{ffi::c_void, ptr::null_mut, sync::atomic::compiler_fence}; 15 atomic::atomic_set, 49 compiler_fence(core::sync::atomic::Ordering::SeqCst); in process_copy_sighand() 55 compiler_fence(core::sync::atomic::Ordering::SeqCst); in process_copy_sighand() 64 compiler_fence(core::sync::atomic::Ordering::SeqCst); in process_copy_sighand() 67 compiler_fence(core::sync::atomic::Ordering::SeqCst); in process_copy_sighand() 71 compiler_fence(core::sync::atomic::Ordering::SeqCst); in process_copy_sighand() 74 compiler_fence(core::sync::atomic::Ordering::SeqCst); in process_copy_sighand() 76 compiler_fence(core::sync::atomic::Ordering::SeqCst); in process_copy_sighand()
|
/DragonOS-0.1.5/kernel/src/sched/ |
D | cfs.rs | 1 use core::{ptr::null_mut, sync::atomic::compiler_fence}; 194 compiler_fence(core::sync::atomic::Ordering::SeqCst); in sched() 199 compiler_fence(core::sync::atomic::Ordering::SeqCst); in sched() 203 compiler_fence(core::sync::atomic::Ordering::SeqCst); in sched() 206 compiler_fence(core::sync::atomic::Ordering::SeqCst); in sched() 212 compiler_fence(core::sync::atomic::Ordering::SeqCst); in sched() 219 compiler_fence(core::sync::atomic::Ordering::SeqCst); in sched() 224 compiler_fence(core::sync::atomic::Ordering::SeqCst); in sched() 226 compiler_fence(core::sync::atomic::Ordering::SeqCst); in sched() 228 compiler_fence(core::sync::atomic::Ordering::SeqCst); in sched()
|
D | core.rs | 1 use core::sync::atomic::compiler_fence; 78 compiler_fence(core::sync::atomic::Ordering::SeqCst); in __sched() 81 compiler_fence(core::sync::atomic::Ordering::SeqCst); in __sched() 106 compiler_fence(core::sync::atomic::Ordering::SeqCst); in sched_enqueue() 119 compiler_fence(core::sync::atomic::Ordering::SeqCst); in sched_enqueue() 121 compiler_fence(core::sync::atomic::Ordering::SeqCst); in sched_enqueue() 128 compiler_fence(core::sync::atomic::Ordering::SeqCst); in sched_enqueue()
|
D | rt.rs | 1 use core::{ptr::null_mut, sync::atomic::compiler_fence}; 181 compiler_fence(core::sync::atomic::Ordering::SeqCst); in sched() 199 compiler_fence(core::sync::atomic::Ordering::SeqCst); in sched()
|
/DragonOS-0.1.5/kernel/src/libs/ |
D | mod.rs | 6 pub mod atomic; module
|
D | semaphore.rs | 1 use core::sync::atomic::{AtomicI32, Ordering};
|
D | refcount.rs | 7 atomic::atomic_read,
|
D | spinlock.rs | 6 use core::sync::atomic::{AtomicBool, Ordering};
|
D | rwlock.rs | 7 sync::atomic::{AtomicU32, Ordering},
|
/DragonOS-0.1.5/docs/kernel/core_api/ |
D | index.rst | 12 atomic
|
D | atomic.md | 5   DragonOS实现了原子变量,类型为atomic_t. 原子变量是基于具体体系结构的原子操作指令实现的。具体实现在`kernel/common/atomic.h`中。
|
/DragonOS-0.1.5/kernel/src/ipc/ |
D | signal.rs | 1 use core::{ffi::c_void, intrinsics::size_of, ptr::read_volatile, sync::atomic::compiler_fence}; 88 compiler_fence(core::sync::atomic::Ordering::SeqCst); in sys_kill() 97 compiler_fence(core::sync::atomic::Ordering::SeqCst); in sys_kill() 139 compiler_fence(core::sync::atomic::Ordering::SeqCst); in signal_kill_proc_info() 142 compiler_fence(core::sync::atomic::Ordering::SeqCst); in signal_kill_proc_info() 178 compiler_fence(core::sync::atomic::Ordering::SeqCst); in signal_send_sig_info() 181 compiler_fence(core::sync::atomic::Ordering::SeqCst); in signal_send_sig_info() 269 compiler_fence(core::sync::atomic::Ordering::SeqCst); in __send_signal_locked() 292 compiler_fence(core::sync::atomic::Ordering::SeqCst); in __send_signal_locked() 310 compiler_fence(core::sync::atomic::Ordering::SeqCst); in complete_signal() [all …]
|
/DragonOS-0.1.5/docs/introduction/ |
D | features.md | 39 - [x] atomic原子变量
|
/DragonOS-0.1.5/docs/community/ChangeLog/V0.1.x/ |
D | V0.1.0.md | 109 - atomic 原子变量
|
/DragonOS-0.1.5/kernel/src/filesystem/vfs/ |
D | core.rs | 4 sync::atomic::{AtomicUsize, Ordering},
|