]>
Projects (at) Tadryanom (dot) Me - AdrOS.git/commit
feat: per-CPU scheduler runqueue infrastructure with load tracking
- Add rq_load field to percpu_data struct (offset 20, struct stays 32 bytes)
- New sched_pcpu module: per-CPU load counters with atomic operations
- sched_pcpu_init(): initialize for N CPUs after SMP enumeration
- sched_pcpu_inc_load/dec_load(): lock-free load tracking
- sched_pcpu_least_loaded(): find CPU with fewest ready processes
- sched_pcpu_get_load(): query per-CPU load
- Integrate load tracking into scheduler enqueue/dequeue paths
- Wire up sched_pcpu_init() in arch_platform_setup after percpu_setup_gs
- All 35/35 smoke tests pass, 16/16 battery, cppcheck clean