forked from arceos-hypervisor/arceos
-
Notifications
You must be signed in to change notification settings - Fork 0
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
[task] support percpu run-queue and cpu affinity for axtask (arceos-o…
…rg#176) * [task] support percpu run-queue and cpu affinity for axtask * refactor: add preempt guard for AxRunQueue through AxRunQueueRef * refactor: use kernel_guard hold by RQ in wait_queue.rs * feat: introduce cpumask * [feat] add on_cpu and prev_task_on_cpu_ptr field in AxTaskInner * fix: delete redundant kernel guard in WaitQueue wait() * Add percpu scheduler doc * [fix] unit test error related to doc comment * [feat] delete cancel_alarm from timers * Update percpu_rq * [fix] use timer ticket id to prevent potential bug introduced by timer event confusion * [feat] use type CpuSet to wrap cpumask::CpuMask * [fix] use allow(clippy::modulo_one) to bypass modulo 1 error in select_run_queue_index * [fix] miss doc for type alias CpuSet * [fix] little modification in axtask api.rs * [fix] some review opinions * [fix] delete if self.on_cpu() block in unblock_locked * [refactor] remove in_timer_list flag in axtask * [fix] doc error in unblock_task * [refactor] timer ticket id * [fix] use put_prev_task in unblock_task * [fix] pontential bug in unblock_locked, set on_cpu as true for init tasks * [feat] enrich code comments and scheduling-related docs * [refactor] move percpu related docs to discussions * [fix] first round fix of review suggestions * [refactor] add block_current in run_queue.rs * [refactor] pass SpinNoIrqGuard to blocked_resched * [feat] add WaitQueueGuard * [refactor] merge unblock_task, add TaskUnblockGuard * [fix] second round fix of review suggestions * [fix] third round fix of review suggestions * [refactor] use weak reference for prev task to manipulate on_cpu flag * [feat] enable on_cpu flag only with smp feature enabled * [fix] enable on_cpu flag only with smp feature enabled * [fix] change the pos of NoPreemptIrqSave guard hold by rq in wait_queue.rs * [refactor] delete unblock_locked, use atomic compare_exchange in unblock_task * [fix] bug in wait_timeout, modify assert in blocked_resched and switch_to * [fix] modify assert about irqs_enabled in switch_to * [refactor] keep the guard in the loop in wait_timeout_until * [fix] some compile warnings * Update the commit hash for arceos-apps * Update the commit hash for arceos-apps again * Update the commit hash for arceos-apps again and again * [fix] bug in wait_timeout and wait_timeout_until * [CI] update dependencies for qemu build * [fix] fourth round fix of review suggestions * [fix] problems related to WAIT_FOR_EXIT in gc_entry * [refactor] use current_ref_mut_raw to get TIMER_LIST in check_events() * [refactor] improve notify_all in wait_queue.rs * [refactor] delete redundant assertion in block_resched() * [fix] some compile warnings
- Loading branch information
1 parent
6152ea8
commit 176f5f4
Showing
16 changed files
with
660 additions
and
190 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.
Oops, something went wrong.
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Oops, something went wrong.