-
Notifications
You must be signed in to change notification settings - Fork 307
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
[task] support percpu run-queue and cpu affinity for axtask #176
Conversation
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
8496126
to
ae26348
Compare
equation314
reviewed
Sep 25, 2024
…r event confusion
…t_run_queue_index
equation314
reviewed
Sep 30, 2024
equation314
reviewed
Oct 9, 2024
Modifications to arceos-apps: https://github.com/arceos-org/arceos-apps/pull/1/files |
equation314
reviewed
Oct 10, 2024
equation314
approved these changes
Oct 11, 2024
buhenxihuan
pushed a commit
to buhenxihuan/arceos
that referenced
this pull request
Nov 13, 2024
…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
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
scheduler : arceos-org/scheduler#1