Messages in this thread | | | From | David Laight <> | Subject | Scheduling tasks on idle cpu | Date | Mon, 11 Apr 2022 08:26:33 +0000 |
| |
From: Qais Yousef > Sent: 09 April 2022 18:09 ... > RT scheduler will push/pull tasks to ensure the task will get to run ASAP if > there's another cpu at lower priority is available
Does that actually happen? I've seen the following: 34533 [017]: sys_futex(uaddr: 1049104, op: 85, val: 1, utime: 1, uaddr2: 1049100, val3: 4000001) 34533 [017]: sched_migrate_task: pid=34512 prio=120 orig_cpu=14 dest_cpu=17 34533 [017]: sched_wakeup: pid=34512 prio=120 success=1 target_cpu=017 and pid 34512 doesn't get scheduled until pid 34533 finally sleeps. This is in spite of there being 5 idle cpu. cpu 14 is busy running a RT thread, but migrating to cpu 17 seems wrong.
This is on a RHEL7 kernel, I've not replicated it on anything recent. But I've very much like a RT thread to be able to schedule a non-RT thread to run on an idle cpu.
David
- Registered Address Lakeside, Bramley Road, Mount Farm, Milton Keynes, MK1 1PT, UK Registration No: 1397386 (Wales)
| |