[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
- To: Dario Faggioli <dfaggioli@xxxxxxxx>, xen-devel@xxxxxxxxxxxxxxxxxxxx
- From: Juergen Gross <jgross@xxxxxxxx>
- Date: Thu, 12 Sep 2019 10:21:07 +0200
- Cc: Stefano Stabellini <sstabellini@xxxxxxxxxx>, Wei Liu <wl@xxxxxxx>, Konrad Rzeszutek Wilk <konrad.wilk@xxxxxxxxxx>, George Dunlap <george.dunlap@xxxxxxxxxxxxx>, Andrew Cooper <andrew.cooper3@xxxxxxxxxx>, Tim Deegan <tim@xxxxxxx>, Robert VanVossen <robert.vanvossen@xxxxxxxxxxxxxxx>, Julien Grall <julien.grall@xxxxxxx>, Josh Whitehead <josh.whitehead@xxxxxxxxxxxxxxx>, Meng Xu <mengxu@xxxxxxxxxxxxx>, Jan Beulich <jbeulich@xxxxxxxx>, Ian Jackson <ian.jackson@xxxxxxxxxxxxx>
- Delivery-date: Thu, 12 Sep 2019 08:21:12 +0000
- List-id: Xen developer discussion <xen-devel.lists.xenproject.org>
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
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@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)
TRACE_4D(TRC_SCHED_SWITCH_INFCONT,
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.
Juergen
_______________________________________________
Xen-devel mailing list
Xen-devel@xxxxxxxxxxxxxxxxxxxx
https://lists.xenproject.org/mailman/listinfo/xen-devel
|