Displaying 6 results from an estimated 6 matches for "vcpu_flags".
Did you mean:
cpu_flags
2007 Feb 14
0
[PATCH 11/12] Allow vcpu to pause self
...not a code path called from guest, since execution is paused
+ * after next context switch. ACPI PM requires this to pause vcpu0 of
+ * dom0 itself, in case that vcpu not running on cpu 0.
+ */
+void vcpu_pause_self(void)
+{
+ struct vcpu *v = current;
+
+ set_bit(_VCPUF_need_sync, &v->vcpu_flags);
+ vcpu_pause_nosync(v);
+}
+
void vcpu_unpause(struct vcpu *v)
{
int wake;
diff -r f6443af464be xen/common/schedule.c
--- a/xen/common/schedule.c Tue Feb 13 13:37:12 2007 +0800
+++ b/xen/common/schedule.c Tue Feb 13 13:41:44 2007 +0800
@@ -629,6 +629,13 @@ void context_saved(struct vcpu...
2005 Oct 10
13
[PATCH] 0/2 VCPU creation and allocation
I''ve put together two patches. The first introduces a new dom0_op,
set_max_vcpus, which with an associated variable and a check in the
VCPUOP handler fixes [1]bug 288. Also included is a new VCPUOP,
VCPUOP_create, which handles all of the vcpu creation tasks and leaves
initialization and unpausing to VCPUOP_initialize. The separation
allows for build-time allocation of vcpus which
2006 Oct 04
0
[PATCH,RFC 6/17] 32-on-64 shared info handling
...@@ static void nmi_dom0_report(unsigned int
if ( ((d = dom0) == NULL) || ((v = d->vcpu[0]) == NULL) )
return;
- set_bit(reason_idx, &d->shared_info->arch.nmi_reason);
+ set_bit(reason_idx, nmi_reason(d));
if ( test_and_set_bit(_VCPUF_nmi_pending, &v->vcpu_flags) )
raise_softirq(NMI_SOFTIRQ); /* not safe to wake up a vcpu here */
Index: 2006-10-04/xen/arch/x86/x86_64/asm-offsets.c
===================================================================
--- 2006-10-04.orig/xen/arch/x86/x86_64/asm-offsets.c 2006-10-04 15:06:22.000000000 +0200
+++ 2006-10...
2006 Mar 10
12
[PATCH] Add SCHEDOP_block_on
...a pertinent event occurs. */
-static long do_block(void)
+static void do_block(void)
{
struct vcpu *v = current;
@@ -258,6 +258,32 @@
/* Check for events /after/ blocking: avoids wakeup waiting race. */
if ( event_pending(v) )
+ {
+ clear_bit(_VCPUF_blocked, &v->vcpu_flags);
+ }
+ else
+ {
+ TRACE_2D(TRC_SCHED_BLOCK, v->domain->domain_id, v->vcpu_id);
+ __enter_scheduler();
+ }
+}
+
+/*
+ * Block the currently-executing domain without enabling interrupts, for a
+ * particular evtchn. Whilst we check for a particular evtchn, /any/ ev...
2006 Jan 25
0
changing max vcpus threshold while a domain is running
...dom0_ops.c warns against this:
/*
* Can only create new VCPUs while the domain is not fully
* constructed
* (and hence not runnable). Xen needs auditing for races before
* removing this check.
*/
ret = -EINVAL;
if ( test_bit(_VCPUF_initialised, &d->vcpu[0]->vcpu_flags) )
goto maxvcpu_out;
Do you know which race condition is being avoided by this check for
_VCPUF_initialised? Could it be the for_each_vcpu macro only checks for
null and a vcpu structure could be alloc''d but not initialized, and then
used inside the macro?
Thanks,
Ryan
_____...
2007 Jan 11
6
[PATCH 4/8] HVM save restore: vcpu context support
...11 16:46:59 2007 +0800
@@ -573,6 +573,7 @@ int arch_set_info_guest(
else
{
hvm_load_cpu_guest_regs(v, &v->arch.guest_context.user_regs);
+ hvm_load_cpu_context(v, &v->arch.guest_context.hvmcpu_ctxt);
}
if ( test_bit(_VCPUF_initialised, &v->vcpu_flags) )
diff -r ee20d1905bde xen/arch/x86/domctl.c
--- a/xen/arch/x86/domctl.c Thu Jan 11 16:40:55 2007 +0800
+++ b/xen/arch/x86/domctl.c Thu Jan 11 16:49:34 2007 +0800
@@ -322,8 +322,10 @@ void arch_get_info_guest(struct vcpu *v,
if ( is_hvm_vcpu(v) )
{
- if ( !IS_COMPAT(v->domain...