I know that Scheduling proxy in L4 is used to set cores and priority ranges for a dedicated task.
For example, The below scheduling proxy makes the task runs on cores 1,2,3 with priority range [52,62].
scheduler = vmm.new_sched(0x50, 0xE)
When I switch to debugging mode, I see that this task has priority = 52 in pr column!
So why does scheduling proxy set priority range instead of a single value like Linux ? How does L4 use the priority range ?
My second question is about the relationship between physical CPUs and virtual CPUs in L4. I know that CPU virtualization should give the ability to virtualize the available physical CPUs so that if we have single physical CPU core, CPU virtualization enables
us to provide multiple virtual CPU cores for the VMs running ontop of the hypervisor.
Actually I don't see this behaviour in the scheduling proxy in L4! instead, the cores parameter only takes a bitmap of the physical cores.
Can I use the scheduling proxy or any other method/workarround to provide CPU Virtualization ?
Thanks,
Mohamed Dawod