Commit Graph

47 Commits

Author SHA1 Message Date
Ruihan Li 3b606f5b6c Use `size_of`/`align_of` in the prelude 2025-09-04 09:26:56 +08:00
Ruihan Li b96c8f9ed2 Make `ostd::trap::irq` public 2025-06-23 22:53:35 +08:00
Cautreoxit 3e32a38316 Add sys_close_range 2025-06-11 19:56:12 +08:00
Ruihan Li 899a1424c0 Tweak RCU visiblity and safety 2025-06-03 15:00:13 +08:00
Ruihan Li 72fb0752ae Allow `dyn InAtomicMode` as `AsAtomicModeGuard` 2025-06-01 15:06:53 +08:00
Zhang Junyang 690f87f311 Add `RcuDrop` 2025-05-12 16:12:01 +08:00
Zhang Junyang 773b965767 Allow specifying orderings when loading/storing `AtomicCpuSet`s 2025-05-11 15:29:17 +08:00
jiangjianfeng 9804f053f2 Add guard which disables bottom half 2025-04-15 14:54:51 +08:00
Ruihan Li e0bda4677c Remove `Send` trait bound from `NonNullPtr` 2025-04-15 10:10:42 +08:00
Ruihan Li de69fd6c31 Add support for `Rcu` to store an `Either` 2025-04-15 10:10:42 +08:00
Chen Chengjun 6aba270a9b Enable RCU to support Weak 2025-04-10 14:42:51 +08:00
Chen Chengjun a21e895102 Enable RCU to read reference to stored pointers 2025-04-10 14:42:51 +08:00
Chen Chengjun 0078c18068 Allow RCU to read with an atomic-mode guard 2025-03-25 22:34:26 +08:00
Chen Chengjun a77e653db6 Bind spin semantics to Guardian 2025-03-25 22:34:26 +08:00
Zhang Junyang 244a34a2fc Add `read_with` methods to RCU types 2025-03-20 11:57:39 +08:00
Zhang Junyang 79a965374d Add `#[must_use]` to RCU guards 2025-03-20 11:57:39 +08:00
Zhang Junyang a5065d878e Refactor the implementation of `RcuOption` for clarity 2025-03-03 09:24:49 +08:00
Ruihan Li 8dbee0a65e Revise the safety conditions for `OwnerPtr`
Co-authored-by: Zhang Junyang <junyang@stu.pku.edu.cn>
2025-03-03 09:24:49 +08:00
Zhang Junyang eee11fa813 Add a read-copy-update method to RCU and allow nullable RCU 2025-03-03 09:24:49 +08:00
LeslieKid 43985c737a Enable RCU
Co-authored-by: Zhang Junyang <junyang@stu.pku.edu.cn>
2025-03-03 09:24:49 +08:00
Ruihan Li 0dca168717 Use `#[expect(lint)]`, not `#[allow(lint)]` 2025-02-08 15:10:04 +08:00
Ruihan Li fb8f493b43 Implement `RwArc` 2025-01-09 10:58:16 +08:00
Ruihan Li 53b873f647 Add `get_mut` methods for locks 2024-12-15 16:36:54 +08:00
Ruihan Li 87e953eac3 Add a missing `#[track_caller]` 2024-12-15 16:36:54 +08:00
Ruihan Li 969ac97144 Make atomic mode panics have clear messages 2024-12-11 20:27:29 +08:00
Ruihan Li a260411a2a Implement `WriteIrqDisabled` 2024-12-03 12:07:24 +08:00
Ruihan Li 29659dbc98 Move `Guardian` to `guard.rs` 2024-12-03 12:07:24 +08:00
Ruihan Li 9e814251df Remove unnecessary trait bounds 2024-12-03 12:07:24 +08:00
jiangjianfeng 495c93c2ad Refactor Rwlock to take type parameter 2024-11-21 15:46:10 +08:00
Ruihan Li 1469059888 Implement `CurrentTask` 2024-11-13 10:32:54 +08:00
Ruihan Li 11382524d1 Use new `SpinLock` APIs in `wait.rs` 2024-11-10 17:42:00 +08:00
Ruize Tang bebfc360da Fix lost-wakeup in RwMutexUpgradeableGuard_.drop() 2024-11-06 21:30:14 +08:00
Ruihan Li 7e2e9cebf6 Perform more noncontroversial cleanups 2024-10-31 15:19:20 +08:00
Zhang Junyang b400d287fa Remove `ostd::sync::AtomicBits` 2024-10-26 22:06:41 +08:00
Zhang Junyang 9e4257b655 Fix multiple issues pointed out by the new compiler 2024-10-13 22:32:05 +08:00
Chen Chengjun 1873bb7a3f Add wait_until_* functionality to Waiter 2024-09-14 13:59:07 +08:00
Ruize Tang 458a6a5b3b Fix unexpected unlock of mutexes, add a testcase 2024-09-04 22:23:46 +09:00
Cautreoxit 86f09eef75 Fix all spelling mistakes in history by typos tool 2024-08-27 12:19:48 +08:00
Zhang Junyang f7a9510be0 Refactor the `this_cpu` API with `PinCurrentCpu` 2024-08-25 20:14:06 +08:00
Zhang Junyang d76c7a5b1e OSDK check and clippy with `cfg(ktest)` 2024-08-23 23:37:50 +08:00
Cautreoxit c44447d54b Refactor the API of spinlocks 2024-08-18 21:06:40 +08:00
jellllly420 f5464e82c0 Implement new scheduling API in OSTD 2024-08-15 23:06:18 +08:00
Zhang Junyang 37a9590cfe Refactor `ostd::task::processor` based on faster CPU-local cells 2024-08-08 19:21:03 +08:00
Jianfeng Jiang f86583dbce Make essential changes for publishing OSTD 2024-07-18 18:18:05 +08:00
Ruihan Li 57ecfa2fec Add `#[must_use]` to all guard types 2024-07-02 12:41:52 +08:00
Jianfeng Jiang 3de8a9330a Fix the OSDK CI failure 2024-06-27 15:45:49 +08:00
Jianfeng Jiang 59350a8578 Rename aster-frame to ostd 2024-06-27 15:45:49 +08:00