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

Re: [Xen-devel] [PATCH v5 01/19] xen/sched: add code to sync scheduling of all vcpus of a sched unit



On 30.09.2019 07:21, Juergen Gross wrote:
> When switching sched units synchronize all vcpus of the new unit to be
> scheduled at the same time.
> 
> A variable sched_granularity is added which holds the number of vcpus
> per schedule unit.
> 
> As tasklets require to schedule the idle unit it is required to set the
> tasklet_work_scheduled parameter of do_schedule() to true if any cpu
> covered by the current schedule() call has any pending tasklet work.
> 
> For joining other vcpus of the schedule unit we need to add a new
> softirq SCHED_SLAVE_SOFTIRQ in order to have a way to initiate a
> context switch without calling the generic schedule() function
> selecting the vcpu to switch to, as we already know which vcpu we
> want to run. This has the other advantage not to loose any other
> concurrent SCHEDULE_SOFTIRQ events.
> 
> Signed-off-by: Juergen Gross <jgross@xxxxxxxx>
> Reviewed-by: Dario Faggioli <dfaggioli@xxxxxxxx>
> ---
> RFC V2:
> - move syncing after context_switch() to schedule.c
> V2:
> - don't run tasklets directly from sched_wait_rendezvous_in()
> V3:
> - adapt array size in sched_move_domain() (Jan Beulich)
> - int -> unsigned int (Jan Beulich)
> V4:
> - renamed sd to sr in several places (Jan Beulich)
> - swap stop_timer() and NOW() calls (Jan Beulich)
> - context_switch() on ARM returns - handle that (Jan Beulich)

Especially because of this (previously overlooked) aspect I think
I'd prefer an Arm maintainer ack here before committing no matter
that ...

> ---
>  xen/arch/arm/domain.c      |   2 +-

... this is a rather minimal change.

Jan

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

 


Rackspace

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