OpenCloudOS-Kernel/rust
Wedson Almeida Filho 19096bce81 rust: sync: introduce `CondVar`
This is the traditional condition variable or monitor synchronisation
primitive. It is implemented with C's `wait_queue_head_t`.

It allows users to release a lock and go to sleep while guaranteeing
that notifications won't be missed. This is achieved by enqueuing a wait
entry before releasing the lock.

Cc: Peter Zijlstra <peterz@infradead.org>
Cc: Ingo Molnar <mingo@redhat.com>
Cc: Will Deacon <will@kernel.org>
Cc: Waiman Long <longman@redhat.com>
Reviewed-by: Martin Rodriguez Reboredo <yakoyoku@gmail.com>
Signed-off-by: Wedson Almeida Filho <walmeida@microsoft.com>
Reviewed-by: Alice Ryhl <aliceryhl@google.com>
Link: https://lore.kernel.org/r/20230411054543.21278-12-wedsonaf@gmail.com
Signed-off-by: Miguel Ojeda <ojeda@kernel.org>
2023-04-22 01:46:45 +02:00
..
alloc rust: alloc: vec: Add some try_* methods we need 2023-04-10 23:55:43 +02:00
bindings rust: sync: introduce `CondVar` 2023-04-22 01:46:45 +02:00
kernel rust: sync: introduce `CondVar` 2023-04-22 01:46:45 +02:00
macros rust: init: add `PinnedDrop` trait and macros 2023-04-12 18:41:05 +02:00
.gitignore kbuild: rust: move rust/target.json to scripts/ 2023-01-22 23:43:33 +09:00
Makefile Kbuild updates for v6.3 2023-02-26 11:53:25 -08:00
bindgen_parameters rust: bindgen: Add `alt_instr` as opaque type 2023-03-02 22:44:15 +01:00
build_error.rs rust: add `build_error` crate 2022-12-04 01:59:16 +01:00
compiler_builtins.rs rust: compiler_builtins: make stubs non-global 2023-01-16 21:04:34 +01:00
exports.c rust: add `build_error` crate 2022-12-04 01:59:16 +01:00
helpers.c rust: sync: introduce `CondVar` 2023-04-22 01:46:45 +02:00