mirror of
https://github.com/xen-project/xen.git
synced 2026-10-28 02:01:24 +01:00
domctl: add force flag to xen_domctl_vcpuaffinity for undoing pin override
Add a XEN_VCPUAFFINITY_FORCE flag to xen_domctl_vcpuaffinity structure which will allow to undo a SCHEDOP_pin_override in case of a driver error of the hardware domain which didn't do the expected SCHEDOP_pin_override with cpu < 0 which would have done the undo operation. Signed-off-by: Juergen Gross <jgross@suse.com> Acked-by: Jan Beulich <jbeulich@suse.com>
This commit is contained in:
1 parent
8fa0fca9f3
commit
882b186d56
2 files changed
+9
No files matched your search
@@ -782,6 +782,12 @@ long do_domctl(XEN_GUEST_HANDLE_PARAM(xen_domctl_t) u_domctl)
|
||||
break;
|
||||
}
|
||||
|
||||
/* Undo a stuck SCHED_pin_override? */
|
||||
if ( vcpuaff->flags & XEN_VCPUAFFINITY_FORCE )
|
||||
vcpu_pin_override(v, -1);
|
||||
|
||||
ret = 0;
|
||||
|
||||
/*
|
||||
* We both set a new affinity and report back to the caller what
|
||||
* the scheduler will be effectively using.
|
||||
|
||||
@@ -307,6 +307,9 @@ struct xen_domctl_vcpuaffinity {
|
||||
/* Set/get the soft affinity for vcpu */
|
||||
#define _XEN_VCPUAFFINITY_SOFT 1
|
||||
#define XEN_VCPUAFFINITY_SOFT (1U<<_XEN_VCPUAFFINITY_SOFT)
|
||||
/* Undo SCHEDOP_pin_override */
|
||||
#define _XEN_VCPUAFFINITY_FORCE 2
|
||||
#define XEN_VCPUAFFINITY_FORCE (1U<<_XEN_VCPUAFFINITY_FORCE)
|
||||
uint32_t flags;
|
||||
/*
|
||||
* IN/OUT variables.
|
||||
|
||||