Skip to content
Draft
Changes from 1 commit
Commits
Show all changes
25 commits
Select commit Hold shift + click to select a range
d897f9a
rust: rros: add 'CONFIG_RROS_SPINLOCK'
Caspian443 Nov 8, 2024
aa2df1d
rust: rros: change some 'CONFIG_RROS' to 'CONFIG_RROS_SPINLOCK'
Caspian443 Nov 8, 2024
3c18d74
change spinlock initialization in memory_rros.rs
Caspian443 Nov 8, 2024
27d9d77
change spinlock initialization for RROS_CONTROL_FACTORY in control.rs
Caspian443 Nov 9, 2024
78397e2
change spinlock initialization for RROS_OBSERVABLE_FACTORY in observa…
Caspian443 Nov 9, 2024
ce619a1
change spinlock initialization for RROS_POLL_FACTORY in poll.rs
Caspian443 Nov 9, 2024
9e1871f
change spinlock initialization for RrosPollGroup's waiter_list in pol…
Caspian443 Nov 9, 2024
b9728a4
change spinlock initialization for RrosPollHead's watchpoints in poll.rs
Caspian443 Nov 10, 2024
220446e
change spinlock initialization for RrosSubscriber's subscriptions in …
Caspian443 Nov 10, 2024
d6369f7
change spinlock initialization for RROS_THREAD_FACTORY in thread.rs
Caspian443 Nov 10, 2024
37a4295
Replace init_static_sync with the new spinlock initialization method.
Caspian443 Nov 10, 2024
aaff261
rust: rros: Refactor the method for accessing data within the lock
Caspian443 Nov 10, 2024
e68dfdb
change spinlock initialization
Caspian443 Nov 23, 2024
384acdf
reorganize statements for module imports
Caspian443 Nov 23, 2024
47abfa2
wrap SpinLock with Pin and Box
Caspian443 Nov 23, 2024
8e2e824
add some necessary api
Caspian443 Nov 23, 2024
fcfe82e
wrap global variable with Oncecell
Caspian443 Nov 23, 2024
4884575
adjust class_create
Caspian443 Nov 25, 2024
d6005dd
rust: class: rm `rust_helper_class_create`
shannmu Dec 5, 2024
b2921b7
rust: time_types: mv time_types from uapi to kernel, fix compile error
shannmu Dec 6, 2024
63377a2
Merge pull request #1 from shannmu/pr-66
Caspian443 Dec 6, 2024
8154918
fix dead lock in spinlock's unlock
Caspian443 Dec 6, 2024
85bac65
add a missing parameter.
Caspian443 Dec 6, 2024
b27d418
delete unlock
Caspian443 Dec 6, 2024
ec59aa3
impl unsafe operation for spinlock
Caspian443 Dec 7, 2024
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
2 changes: 1 addition & 1 deletion kernel/rros/idle.rs
Original file line number Diff line number Diff line change
Expand Up @@ -94,7 +94,7 @@ fn __rros_set_idle_schedparam(
// let mut thread_lock = thread_unwrap.lock();
let p_unwrap = p.unwrap();
thread_unwrap.lock().state &= !T_WEAK;
let prio = unsafe { (*p_unwrap.locked_data().get()).idle.prio };
let prio = unsafe { (*p_unwrap.lock().deref()).idle.prio };
Copy link
Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I don't know why there is a locked_data rather than a lock. I think the lock is better here.

Copy link
Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Indeed, the version now has only lock.

return sched::rros_set_effective_thread_priority(thread.clone(), prio);
}

Expand Down