xen/sched: move struct task_slice into struct sched_unit
authorJuergen Gross <jgross@suse.com>
Fri, 27 Sep 2019 07:00:31 +0000 (09:00 +0200)
committerJan Beulich <jbeulich@suse.com>
Fri, 27 Sep 2019 14:03:31 +0000 (16:03 +0200)
commit7a4e6711114905b3cbbe48e81c3222361a7f3579
treeb7593529175f2a88d0a65f73f2faf302aea48b10
parent197baceee47f5d158b2bae4c0e933a6e26871324
xen/sched: move struct task_slice into struct sched_unit

In order to prepare for multiple vcpus per schedule unit move struct
task_slice in schedule() from the local stack into struct sched_unit
of the currently running unit. To make access easier for the single
schedulers add the pointer of the currently running unit as a parameter
of do_schedule().

While at it switch the tasklet_work_scheduled parameter of
do_schedule() from bool_t to bool.

As struct task_slice is only ever modified with the local schedule
lock held it is safe to directly set the different units in struct
sched_unit instead of using an on-stack copy for returning the data.

Signed-off-by: Juergen Gross <jgross@suse.com>
Reviewed-by: Dario Faggioli <dfaggioli@suse.com>
xen/common/sched_arinc653.c
xen/common/sched_credit.c
xen/common/sched_credit2.c
xen/common/sched_null.c
xen/common/sched_rt.c
xen/common/schedule.c
xen/include/xen/sched-if.h
xen/include/xen/sched.h