Damien Zammit, le ven. 29 sept. 2023 05:00:53 +0000, a ecrit: > This speeds up smp to approximately full speed of uniprocessor!
Ok, but I don't think we want this. > diff --git a/kern/sched_prim.c b/kern/sched_prim.c > index 5ee0521a..cdb2ba27 100644 > --- a/kern/sched_prim.c > +++ b/kern/sched_prim.c > @@ -1228,8 +1228,7 @@ void update_priority( > /* > * thread_setrun: > * > - * Make thread runnable; dispatch directly onto an idle processor > - * if possible. Else put on appropriate run queue (processor > + * Make thread runnable; put on appropriate run queue (processor Putting the just-woken thread on an idle processor is necessary to actually get parallelism quickly. Otherwise you'll have to wait for the idle processor to wake up after its tick period before you'll actually see parallelism happen. This looks to me more like the resched-IPI is not properly plumbed and that's what needs to be fixed. Of course, people can use this workaround for now to also work on other parts of SMP questions. But we really do not want to put the idle question under the carpet. Samuel