mirror of
https://github.com/projectacrn/acrn-hypervisor.git
synced 2025-09-23 09:47:44 +00:00
HV: add pcpu id check before send IPI
to avoid send IPI to self, also improve the related code: 1. get_cpu_id is uint16_t now 2. MISRA-C requirement. like add {} Signed-off-by: Minggui Cao <minggui.cao@intel.com> Reviewed-by: Jason Chen CJ <jason.cj.chen@intel.com> Acked-by: Eddie Dong <eddie.dong@intel.com>
This commit is contained in:
@@ -101,7 +101,9 @@ void make_reschedule_request(struct vcpu *vcpu)
|
||||
struct sched_context *ctx = &per_cpu(sched_ctx, vcpu->pcpu_id);
|
||||
|
||||
bitmap_set_lock(NEED_RESCHEDULE, &ctx->flags);
|
||||
send_single_ipi(vcpu->pcpu_id, VECTOR_NOTIFY_VCPU);
|
||||
if (get_cpu_id() != vcpu->pcpu_id) {
|
||||
send_single_ipi(vcpu->pcpu_id, VECTOR_NOTIFY_VCPU);
|
||||
}
|
||||
}
|
||||
|
||||
int need_reschedule(uint16_t pcpu_id)
|
||||
@@ -153,7 +155,9 @@ void make_pcpu_offline(uint16_t pcpu_id)
|
||||
struct sched_context *ctx = &per_cpu(sched_ctx, pcpu_id);
|
||||
|
||||
bitmap_set_lock(NEED_OFFLINE, &ctx->flags);
|
||||
send_single_ipi(pcpu_id, VECTOR_NOTIFY_VCPU);
|
||||
if (get_cpu_id() != pcpu_id) {
|
||||
send_single_ipi(pcpu_id, VECTOR_NOTIFY_VCPU);
|
||||
}
|
||||
}
|
||||
|
||||
int need_offline(uint16_t pcpu_id)
|
||||
|
Reference in New Issue
Block a user