/DragonOS-0.1.8/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 | 22 use core::sync::atomic::compiler_fence; 59 compiler_fence(core::sync::atomic::Ordering::SeqCst); in read_at() 207 compiler_fence(core::sync::atomic::Ordering::SeqCst); in read_at() 218 compiler_fence(core::sync::atomic::Ordering::SeqCst); in write_at() 237 compiler_fence(core::sync::atomic::Ordering::SeqCst); in write_at() 247 compiler_fence(core::sync::atomic::Ordering::SeqCst); in write_at() 259 compiler_fence(core::sync::atomic::Ordering::SeqCst); in write_at() 289 compiler_fence(core::sync::atomic::Ordering::SeqCst); in write_at() 350 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.8/kernel/src/common/ |
D | atomic.h | 14 #define atomic_read(atomic) ((atomic)->value) // 读取原子变量 argument 15 #define atomic_set(atomic,val) (((atomic)->value) = (val)) // 设置原子变量的初始值 argument
|
/DragonOS-0.1.8/kernel/src/libs/ |
D | int_like.rs | 66 pub fn load(&self, order: ::core::sync::atomic::Ordering) -> $new_type_name { 70 pub fn store(&self, val: $new_type_name, order: ::core::sync::atomic::Ordering) { 77 order: ::core::sync::atomic::Ordering, 86 success: ::core::sync::atomic::Ordering, 87 failure: ::core::sync::atomic::Ordering, 102 success: ::core::sync::atomic::Ordering, 103 failure: ::core::sync::atomic::Ordering, 121 use ::core::sync::atomic::AtomicUsize; in test()
|
D | mod.rs | 2 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};
|
/DragonOS-0.1.8/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.8/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()
|
D | mod.rs | 3 sync::atomic::{compiler_fence, Ordering},
|
/DragonOS-0.1.8/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() 30 compiler_fence(core::sync::atomic::Ordering::SeqCst); in switch_process()
|
/DragonOS-0.1.8/kernel/src/sched/ |
D | cfs.rs | 1 use core::{ptr::null_mut, sync::atomic::compiler_fence}; 192 compiler_fence(core::sync::atomic::Ordering::SeqCst); in sched() 197 compiler_fence(core::sync::atomic::Ordering::SeqCst); in sched() 201 compiler_fence(core::sync::atomic::Ordering::SeqCst); in sched() 204 compiler_fence(core::sync::atomic::Ordering::SeqCst); in sched() 210 compiler_fence(core::sync::atomic::Ordering::SeqCst); in sched() 217 compiler_fence(core::sync::atomic::Ordering::SeqCst); in sched() 223 compiler_fence(core::sync::atomic::Ordering::SeqCst); in sched() 225 compiler_fence(core::sync::atomic::Ordering::SeqCst); in sched() 227 compiler_fence(core::sync::atomic::Ordering::SeqCst); in sched()
|
D | core.rs | 1 use core::sync::atomic::compiler_fence; 76 compiler_fence(core::sync::atomic::Ordering::SeqCst); in do_sched() 79 compiler_fence(core::sync::atomic::Ordering::SeqCst); in do_sched() 104 compiler_fence(core::sync::atomic::Ordering::SeqCst); in sched_enqueue() 117 compiler_fence(core::sync::atomic::Ordering::SeqCst); in sched_enqueue() 125 compiler_fence(core::sync::atomic::Ordering::SeqCst); in sched_enqueue()
|
D | rt.rs | 1 use core::sync::atomic::compiler_fence; 184 compiler_fence(core::sync::atomic::Ordering::SeqCst); in sched() 202 compiler_fence(core::sync::atomic::Ordering::SeqCst); in sched()
|
/DragonOS-0.1.8/kernel/src/mm/ |
D | percpu.rs | 1 use core::sync::atomic::AtomicUsize; 28 if CPU_NUM.load(core::sync::atomic::Ordering::SeqCst) != 0 { in init() 33 CPU_NUM.store(cpus, core::sync::atomic::Ordering::SeqCst); in init() 60 let cpu_num = CPU_NUM.load(core::sync::atomic::Ordering::SeqCst); in new()
|
/DragonOS-0.1.8/docs/kernel/core_api/ |
D | index.rst | 12 atomic
|
D | atomic.md | 5   DragonOS实现了原子变量,类型为atomic_t. 原子变量是基于具体体系结构的原子操作指令实现的。具体实现在`kernel/common/atomic.h`中。
|
/DragonOS-0.1.8/kernel/src/ipc/ |
D | signal.rs | 5 sync::atomic::compiler_fence, 100 compiler_fence(core::sync::atomic::Ordering::SeqCst); in signal_kill_proc_info() 103 compiler_fence(core::sync::atomic::Ordering::SeqCst); in signal_kill_proc_info() 139 compiler_fence(core::sync::atomic::Ordering::SeqCst); in signal_send_sig_info() 142 compiler_fence(core::sync::atomic::Ordering::SeqCst); in signal_send_sig_info() 230 compiler_fence(core::sync::atomic::Ordering::SeqCst); in __send_signal_locked() 253 compiler_fence(core::sync::atomic::Ordering::SeqCst); in __send_signal_locked() 271 compiler_fence(core::sync::atomic::Ordering::SeqCst); in complete_signal() 299 compiler_fence(core::sync::atomic::Ordering::SeqCst); in complete_signal() 380 compiler_fence(core::sync::atomic::Ordering::SeqCst); in signal_wake_up_state() [all …]
|
D | syscall.rs | 3 sync::atomic::compiler_fence, 66 compiler_fence(core::sync::atomic::Ordering::SeqCst); in kill() 70 compiler_fence(core::sync::atomic::Ordering::SeqCst); in kill()
|
/DragonOS-0.1.8/kernel/src/driver/video/ |
D | mod.rs | 3 sync::atomic::{AtomicBool, Ordering},
|
/DragonOS-0.1.8/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.8/kernel/src/arch/x86_64/interrupt/ |
D | mod.rs | 7 sync::atomic::{compiler_fence, Ordering},
|
/DragonOS-0.1.8/kernel/src/net/ |
D | mod.rs | 3 sync::atomic::AtomicUsize, 27 .fetch_add(1, core::sync::atomic::Ordering::SeqCst) in generate_iface_id()
|