Home
last modified time | relevance | path

Searched refs:atomic (Results 1 – 21 of 21) sorted by relevance

/DragonOS-0.1.5/kernel/src/common/
Datomic.h13 #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/
Dcontext.rs3 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/
Dcurrent.rs3 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/
Dmod.rs25 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 …]
Dahcidisk.rs21 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()
Dhba.rs4 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/
Dfork.rs1 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/
Dcfs.rs1 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()
Dcore.rs1 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()
Drt.rs1 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/
Dmod.rs6 pub mod atomic; module
Dsemaphore.rs1 use core::sync::atomic::{AtomicI32, Ordering};
Drefcount.rs7 atomic::atomic_read,
Dspinlock.rs6 use core::sync::atomic::{AtomicBool, Ordering};
Drwlock.rs7 sync::atomic::{AtomicU32, Ordering},
/DragonOS-0.1.5/docs/kernel/core_api/
Dindex.rst12 atomic
Datomic.md5   DragonOS实现了原子变量,类型为atomic_t. 原子变量是基于具体体系结构的原子操作指令实现的。具体实现在`kernel/common/atomic.h`中。
/DragonOS-0.1.5/kernel/src/ipc/
Dsignal.rs1 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/
Dfeatures.md39 - [x] atomic原子变量
/DragonOS-0.1.5/docs/community/ChangeLog/V0.1.x/
DV0.1.0.md109 - atomic 原子变量
/DragonOS-0.1.5/kernel/src/filesystem/vfs/
Dcore.rs4 sync::atomic::{AtomicUsize, Ordering},