Commit Graph

3 Commits

Author SHA1 Message Date
Travis Geiselbrecht
d0225dd262 [kernel][debug] fix threadload to display idle time properly in SMP world
The post SMP algorithm wasn't taking into account time on any given core
if the core was currently idle at the time the load interrupt fired.
Also track rescheduling ipis and condense the output slightly.
2015-03-10 16:43:55 -07:00
Travis Geiselbrecht
ac53b59ca7 [kernel][smp] move idle threads out of the run queue, fix some mp code
-Each cpu's idle thread now doesn't sit in the run queue and is only
selected when no other threads are ready to run. This means there is
now an implicit affinity for the idle threads for each cpu, and reduces
the amount of idle thread thrashing without real affinity (or per cpu
run queues).
-Fix some bitmap logic in the mp_reschedule and mp_mbx_reschedule_irq
code path that probably resulted in not enough reschedules.
-Change a few spots for mp reschedule ipis in general thread path. Add
ipi to thread_resume, remove one from thread_create_etc.
2015-03-10 16:43:55 -07:00
Travis Geiselbrecht
16d0a96dff [kernel] add preliminary SMP support to the kernel 2015-03-10 16:43:55 -07:00