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