/DragonOS-0.1.7/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.7/kernel/src/driver/disk/ahci/ |
D | mod.rs | 26 use core::sync::atomic::compiler_fence; 53 compiler_fence(core::sync::atomic::Ordering::SeqCst); in ahci_rust_init() 61 compiler_fence(core::sync::atomic::Ordering::SeqCst); in ahci_rust_init() 70 compiler_fence(core::sync::atomic::Ordering::SeqCst); in ahci_rust_init() 79 compiler_fence(core::sync::atomic::Ordering::SeqCst); in ahci_rust_init() 83 compiler_fence(core::sync::atomic::Ordering::SeqCst); in ahci_rust_init() 90 compiler_fence(core::sync::atomic::Ordering::SeqCst); in ahci_rust_init() 111 compiler_fence(core::sync::atomic::Ordering::SeqCst); in ahci_rust_init() 125 compiler_fence(core::sync::atomic::Ordering::SeqCst); in ahci_rust_init() 158 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.7/kernel/src/arch/x86_64/ |
D | context.rs | 3 use core::sync::atomic::compiler_fence; 18 compiler_fence(core::sync::atomic::Ordering::SeqCst); in switch_process() 22 compiler_fence(core::sync::atomic::Ordering::SeqCst); in switch_process()
|
/DragonOS-0.1.7/kernel/src/arch/x86_64/asm/ |
D | current.rs | 3 use core::{arch::asm, sync::atomic::compiler_fence}; 12 compiler_fence(core::sync::atomic::Ordering::SeqCst); in current_pcb() 14 compiler_fence(core::sync::atomic::Ordering::SeqCst); in current_pcb()
|
/DragonOS-0.1.7/kernel/src/process/ |
D | fork.rs | 1 use core::{ffi::c_void, ptr::null_mut, sync::atomic::compiler_fence}; 15 atomic::atomic_set, 50 compiler_fence(core::sync::atomic::Ordering::SeqCst); in process_copy_sighand() 56 compiler_fence(core::sync::atomic::Ordering::SeqCst); in process_copy_sighand() 65 compiler_fence(core::sync::atomic::Ordering::SeqCst); in process_copy_sighand() 68 compiler_fence(core::sync::atomic::Ordering::SeqCst); in process_copy_sighand() 72 compiler_fence(core::sync::atomic::Ordering::SeqCst); in process_copy_sighand() 75 compiler_fence(core::sync::atomic::Ordering::SeqCst); in process_copy_sighand() 77 compiler_fence(core::sync::atomic::Ordering::SeqCst); in process_copy_sighand()
|
/DragonOS-0.1.7/kernel/src/sched/ |
D | cfs.rs | 1 use core::{ptr::null_mut, sync::atomic::compiler_fence}; 193 compiler_fence(core::sync::atomic::Ordering::SeqCst); in sched() 198 compiler_fence(core::sync::atomic::Ordering::SeqCst); in sched() 202 compiler_fence(core::sync::atomic::Ordering::SeqCst); in sched() 205 compiler_fence(core::sync::atomic::Ordering::SeqCst); in sched() 211 compiler_fence(core::sync::atomic::Ordering::SeqCst); in sched() 218 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; 79 compiler_fence(core::sync::atomic::Ordering::SeqCst); in __sched() 82 compiler_fence(core::sync::atomic::Ordering::SeqCst); in __sched() 107 compiler_fence(core::sync::atomic::Ordering::SeqCst); in sched_enqueue() 120 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}; 186 compiler_fence(core::sync::atomic::Ordering::SeqCst); in sched() 204 compiler_fence(core::sync::atomic::Ordering::SeqCst); in sched()
|
/DragonOS-0.1.7/kernel/src/libs/ |
D | mod.rs | 1 pub mod atomic; module
|
D | semaphore.rs | 1 use core::sync::atomic::{AtomicI32, Ordering};
|
D | refcount.rs | 7 atomic::atomic_read,
|
D | lazy_init.rs | 23 use core::sync::atomic::{AtomicBool, Ordering};
|
D | spinlock.rs | 6 use core::sync::atomic::{AtomicBool, Ordering};
|
/DragonOS-0.1.7/docs/kernel/core_api/ |
D | index.rst | 12 atomic
|
D | atomic.md | 5   DragonOS实现了原子变量,类型为atomic_t. 原子变量是基于具体体系结构的原子操作指令实现的。具体实现在`kernel/common/atomic.h`中。
|
/DragonOS-0.1.7/kernel/src/ipc/ |
D | signal.rs | 5 sync::atomic::compiler_fence, 94 compiler_fence(core::sync::atomic::Ordering::SeqCst); in sys_kill() 103 compiler_fence(core::sync::atomic::Ordering::SeqCst); in sys_kill() 145 compiler_fence(core::sync::atomic::Ordering::SeqCst); in signal_kill_proc_info() 148 compiler_fence(core::sync::atomic::Ordering::SeqCst); in signal_kill_proc_info() 184 compiler_fence(core::sync::atomic::Ordering::SeqCst); in signal_send_sig_info() 187 compiler_fence(core::sync::atomic::Ordering::SeqCst); in signal_send_sig_info() 275 compiler_fence(core::sync::atomic::Ordering::SeqCst); in __send_signal_locked() 298 compiler_fence(core::sync::atomic::Ordering::SeqCst); in __send_signal_locked() 316 compiler_fence(core::sync::atomic::Ordering::SeqCst); in complete_signal() [all …]
|
/DragonOS-0.1.7/kernel/src/driver/video/ |
D | mod.rs | 3 sync::atomic::{AtomicBool, Ordering},
|
/DragonOS-0.1.7/kernel/src/driver/keyboard/ |
D | ps2_keyboard.rs | 1 use core::sync::atomic::AtomicI32; 128 let prev_ref_count = self.1.fetch_add(1, core::sync::atomic::Ordering::SeqCst); in open() 142 let prev_ref_count = self.1.fetch_sub(1, core::sync::atomic::Ordering::SeqCst); in close()
|
/DragonOS-0.1.7/kernel/src/arch/x86_64/interrupt/ |
D | mod.rs | 4 sync::atomic::{compiler_fence, Ordering},
|
/DragonOS-0.1.7/kernel/src/net/ |
D | mod.rs | 3 sync::atomic::AtomicUsize, 27 .fetch_add(1, core::sync::atomic::Ordering::SeqCst) in generate_iface_id()
|
/DragonOS-0.1.7/docs/introduction/ |
D | features.md | 39 - [x] atomic原子变量
|
/DragonOS-0.1.7/docs/community/ChangeLog/V0.1.x/ |
D | V0.1.0.md | 109 - atomic 原子变量
|
/DragonOS-0.1.7/kernel/src/exception/ |
D | softirq.rs | 6 sync::atomic::{compiler_fence, Ordering},
|