[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [Xen-devel] [PATCH v2 28/48] xen/sched: move struct task_slice into struct sched_unit

On 12.09.19 10:13, Dario Faggioli wrote:
On Fri, 2019-08-09 at 16:58 +0200, Juergen Gross wrote:
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
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@xxxxxxxx>

diff --git a/xen/common/schedule.c b/xen/common/schedule.c
index e4d0dd4b65..d2fc89d983 100644
--- a/xen/common/schedule.c
+++ b/xen/common/schedule.c
@@ -1751,9 +1749,7 @@ static void schedule(void)
                   next->domain->domain_id, next->unit_id,
                   now - prev->state_entry_time,
-                 next_slice.time);
-        trace_continue_running(next->vcpu_list);
-        return continue_running(prev->vcpu_list);
+                 prev->next_time);
Mmm... I'm sorry, but I'm not sure I understand what is going on here.

Do you mind explaining why we're not calling continue_running() any
longer (and why this happens in this patch)?

Good catch. The related coding gets added in patch 29 again. Seems as
if two patches got mixed up.


Xen-devel mailing list



Lists.xenproject.org is hosted with RackSpace, monitoring our
servers 24x7x365 and backed by RackSpace's Fanatical Support®.