On 29/03/2019 16:08, Juergen Gross wrote:
> This series is very RFC!!!!
> 
> Add support for core- and socket-scheduling in the Xen hypervisor.
> 
> Via boot parameter sched_granularity=core (or sched_granularity=socket)
> it is possible to change the scheduling granularity from thread (the
> default) to either whole cores or even sockets.
> 
> All logical cpus (threads) of the core or socket are always scheduled
> together. This means that on a core always vcpus of the same domain
> will be active, and those vcpus will always be scheduled at the same
> time.
> 
> This is achieved by switching the scheduler to no longer see vcpus as
> the primary object to schedule, but "schedule items". Each schedule
> item consists of as many vcpus as each core has threads on the current
> system. The vcpu->item relation is fixed.
> 
> I have done some very basic performance testing: on a 4 cpu system
> (2 cores with 2 threads each) I did a "make -j 4" for building the Xen
> hypervisor. With This test has been run on dom0, once with no other
> guest active and once with another guest with 4 vcpus running the same
> test. The results are (always elapsed time, system time, user time):
> 
> sched_granularity=thread, no other guest: 116.10 177.65 207.84
> sched_granularity=core,   no other guest: 114.04 175.47 207.45
> sched_granularity=thread, other guest:    202.30 334.21 384.63
> sched_granularity=core,   other guest:    207.24 293.04 371.37
> 
> All tests have been performed with credit2, the other schedulers are
> untested up to now.
> 
> Cpupools are not yet working, as moving cpus between cpupools needs
> more work.
> 
> HVM domains do not work yet, there is a doublefault in Xen at the
> end of Seabios. I'm currently investigating this issue.
> 
> This is x86-only for the moment. ARM doesn't even build with the
> series applied. For full ARM support I might need some help with the
> ARM specific context switch handling.
> 
> The first 7 patches have been sent to xen-devel already, I'm just
> adding them here for convenience as they are prerequisites.
> 
> I'm especially looking for feedback regarding the overall idea and
> design.

I have put the patches in a repository:

github.com/jgross1/xen.git sched-rfc


Juergen

_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xenproject.org
https://lists.xenproject.org/mailman/listinfo/xen-devel

Reply via email to