io_emul: remove pending_pre_work

Now we do not need pending_pre_work anymore, as we can make sure IO request
VCPU resume from where it paused.

Now only three fixed points will try to do schedule:
- vcpu_thread: before vm entry, will check reschedule flag and to it if needed
- default_idle: loop check reschedule flag to see if need switch out
- io request: if IO REQ need DM's handle, it will schedule out

Tracked-On: #2394
Signed-off-by: Jason Chen CJ <jason.cj.chen@intel.com>
Acked-by: Xu, Anthony <anthony.xu@intel.com>
This commit is contained in:
Jason Chen CJ
2019-01-21 14:08:39 +08:00
committed by wenlingz
parent 4fc54f952e
commit fb41ea5cfb
5 changed files with 3 additions and 43 deletions

View File

@@ -13,8 +13,6 @@
#ifndef VCPU_H
#define VCPU_H
#define ACRN_VCPU_MMIO_COMPLETE (0U)
/* Number of GPRs saved / restored for guest in VCPU structure */
#define NUM_GPRS 16U
#define GUEST_STATE_AREA_SIZE 512
@@ -274,7 +272,6 @@ struct acrn_vcpu {
uint64_t sync; /*hold the bit events*/
struct sched_object sched_obj;
uint64_t pending_pre_work; /* any pre work pending? */
bool launched; /* Whether the vcpu is launched on target pcpu */
uint32_t paused_cnt; /* how many times vcpu is paused */
uint32_t running; /* vcpu is picked up and run? */
@@ -606,8 +603,6 @@ void schedule_vcpu(struct acrn_vcpu *vcpu);
*/
int32_t prepare_vcpu(struct acrn_vm *vm, uint16_t pcpu_id);
void request_vcpu_pre_work(struct acrn_vcpu *vcpu, uint16_t pre_work_id);
/**
* @}
*/