Displaying 6 results from an estimated 6 matches for "need_to_wait".
2019 Aug 13
1
[RFC PATCH v6 16/92] kvm: introspection: handle events and event replies
On 09/08/19 17:59, Adalbert Laz?r wrote:
>
> + reply->padding2);
> +
> + ivcpu->reply_waiting = false;
> + return expected->error;
> +}
> +
> /*
Is this missing a wakeup?
>
> +static bool need_to_wait(struct kvm_vcpu *vcpu)
> +{
> + struct kvmi_vcpu *ivcpu = IVCPU(vcpu);
> +
> + return ivcpu->reply_waiting;
> +}
> +
Do you actually need this function? It seems to me that everywhere you
call it you already have an ivcpu, so you can just access the field.
Also, "reply_...
2019 Aug 09
0
[RFC PATCH v6 16/92] kvm: introspection: handle events and event replies
...false;
+ atomic_set(&ikvm->ev_seq, 0);
+
set_bit(KVMI_GET_VERSION, ikvm->cmd_allow_mask);
set_bit(KVMI_CHECK_COMMAND, ikvm->cmd_allow_mask);
set_bit(KVMI_CHECK_EVENT, ikvm->cmd_allow_mask);
@@ -520,10 +522,20 @@ void kvmi_run_jobs(struct kvm_vcpu *vcpu)
}
}
+static bool need_to_wait(struct kvm_vcpu *vcpu)
+{
+ struct kvmi_vcpu *ivcpu = IVCPU(vcpu);
+
+ return ivcpu->reply_waiting;
+}
+
static bool done_waiting(struct kvm_vcpu *vcpu)
{
struct kvmi_vcpu *ivcpu = IVCPU(vcpu);
+ if (!need_to_wait(vcpu))
+ return true;
+
return !list_empty(&ivcpu->job_list);
}...
2019 Aug 09
0
[RFC PATCH v6 64/92] kvm: introspection: add single-stepping
...cpu) { }
static inline bool kvmi_bp_intercepted(struct kvm_vcpu *vcpu, u32 dbg)
diff --git a/virt/kvm/kvmi.c b/virt/kvm/kvmi.c
index d47a725a4045..a3a5af9080a9 100644
--- a/virt/kvm/kvmi.c
+++ b/virt/kvm/kvmi.c
@@ -1260,11 +1260,19 @@ void kvmi_run_jobs(struct kvm_vcpu *vcpu)
}
}
+static bool need_to_wait_for_ss(struct kvm_vcpu *vcpu)
+{
+ struct kvmi_vcpu *ivcpu = IVCPU(vcpu);
+ struct kvmi *ikvm = IKVM(vcpu->kvm);
+
+ return atomic_read(&ikvm->ss_active) && !ivcpu->ss_owner;
+}
+
static bool need_to_wait(struct kvm_vcpu *vcpu)
{
struct kvmi_vcpu *ivcpu = IVCPU(vcpu);
- r...
2019 Aug 12
1
[RFC PATCH v6 64/92] kvm: introspection: add single-stepping
...ted(struct kvm_vcpu *vcpu, u32 dbg)
> diff --git a/virt/kvm/kvmi.c b/virt/kvm/kvmi.c
> index d47a725a4045..a3a5af9080a9 100644
> --- a/virt/kvm/kvmi.c
> +++ b/virt/kvm/kvmi.c
> @@ -1260,11 +1260,19 @@ void kvmi_run_jobs(struct kvm_vcpu *vcpu)
> }
> }
>
> +static bool need_to_wait_for_ss(struct kvm_vcpu *vcpu)
> +{
> + struct kvmi_vcpu *ivcpu = IVCPU(vcpu);
> + struct kvmi *ikvm = IKVM(vcpu->kvm);
> +
> + return atomic_read(&ikvm->ss_active) && !ivcpu->ss_owner;
> +}
> +
> static bool need_to_wait(struct kvm_vcpu *vcpu)
> {
&...
2019 Aug 09
117
[RFC PATCH v6 00/92] VM introspection
The KVM introspection subsystem provides a facility for applications running
on the host or in a separate VM, to control the execution of other VM-s
(pause, resume, shutdown), query the state of the vCPUs (GPRs, MSRs etc.),
alter the page access bits in the shadow page tables (only for the hardware
backed ones, eg. Intel's EPT) and receive notifications when events of
interest have taken place
2019 Aug 09
117
[RFC PATCH v6 00/92] VM introspection
The KVM introspection subsystem provides a facility for applications running
on the host or in a separate VM, to control the execution of other VM-s
(pause, resume, shutdown), query the state of the vCPUs (GPRs, MSRs etc.),
alter the page access bits in the shadow page tables (only for the hardware
backed ones, eg. Intel's EPT) and receive notifications when events of
interest have taken place