Sign Up
Log In
Log In
or
Sign Up
Places
All Projects
Status Monitor
Collapse sidebar
SUSE:SLE-12-SP1:GA
xen.10697
5a16a51e-sync-CPU-state-upon-final-domain-destr...
Overview
Repositories
Revisions
Requests
Users
Attributes
Meta
File 5a16a51e-sync-CPU-state-upon-final-domain-destruction.patch of Package xen.10697
# Commit 24246e1fb7496b830aca8a6a1fd3064ca1e3ebf9 # Date 2017-11-23 11:38:22 +0100 # Author Jan Beulich <jbeulich@suse.com> # Committer Jan Beulich <jbeulich@suse.com> sync CPU state upon final domain destruction See the code comment being added for why we need this. This is being placed here to balance between the desire to prevent future similar issues (the risk of which would grow if it was put further down the call stack, e.g. in vmx_vcpu_destroy()) and the intention to limit the performance impact (otherwise it could also go into rcu_do_batch(), paralleling the use in do_tasklet_work()). Reported-by: Igor Druzhinin <igor.druzhinin@citrix.com> Signed-off-by: Jan Beulich <jbeulich@suse.com> Acked-by: Andrew Cooper <andrew.cooper3@citrix.com> --- a/xen/common/domain.c +++ b/xen/common/domain.c @@ -698,6 +698,14 @@ static void complete_domain_destroy(stru struct vcpu *v; int i; + /* + * Flush all state for the vCPU previously having run on the current CPU. + * This is in particular relevant for x86 HVM ones on VMX, so that this + * flushing of state won't happen from the TLB flush IPI handler behind + * the back of a vmx_vmcs_enter() / vmx_vmcs_exit() section. + */ + sync_local_execstate(); + for ( i = d->max_vcpus - 1; i >= 0; i-- ) { if ( (v = d->vcpu[i]) == NULL )
Locations
Projects
Search
Status Monitor
Help
OpenBuildService.org
Documentation
API Documentation
Code of Conduct
Contact
Support
@OBShq
Terms
openSUSE Build Service is sponsored by
The Open Build Service is an
openSUSE project
.
Sign Up
Log In
Places
Places
All Projects
Status Monitor