Redesign reschedule points, allow one operation to reschedule many cpus at once
All checks were successful
Build documentation / build-and-deploy (push) Successful in 2m12s
All checks were successful
Build documentation / build-and-deploy (push) Successful in 2m12s
This commit is contained in:
@@ -6,6 +6,7 @@
|
||||
#include <mm/pmm.h>
|
||||
#include <proc/proc.h>
|
||||
#include <proc/procgroup.h>
|
||||
#include <proc/reschedule.h>
|
||||
#include <sync/spin_lock.h>
|
||||
#include <sys/debug.h>
|
||||
#include <sys/mm.h>
|
||||
@@ -176,7 +177,8 @@ void procgroup_attach (struct procgroup* procgroup, struct proc* proc) {
|
||||
spin_unlock (&procgroup->lock);
|
||||
}
|
||||
|
||||
void procgroup_detach (struct procgroup* procgroup, struct proc* proc) {
|
||||
void procgroup_detach (struct procgroup* procgroup, struct proc* proc,
|
||||
struct reschedule_ctx* rctx) {
|
||||
spin_lock (&procgroup->lock);
|
||||
spin_lock (&proc->lock);
|
||||
|
||||
@@ -207,8 +209,7 @@ void procgroup_detach (struct procgroup* procgroup, struct proc* proc) {
|
||||
|
||||
rnode = next;
|
||||
|
||||
struct cpu* reschedule_cpu;
|
||||
proc_delete_resource (resource, &reschedule_cpu);
|
||||
proc_delete_resource (resource, rctx);
|
||||
}
|
||||
|
||||
/* unlock VFS owned mountpoints */
|
||||
|
||||
Reference in New Issue
Block a user