acrn-hypervisor/hypervisor/common
Conghui Chen 810305be98 hv: sched: disable interrupt when grab schedule spinlock
After moving softirq to following interrupt path, softirq handler might
break in the schedule spinlock context and try to grab the lock again,
then deadlock.

Disable interrupt with schedule spinlock context.
For the IRQ disable/restore operations:
  CPU_INT_ALL_DISABLE(&rflag)
  CPU_INT_ALL_RESTORE(rflag)
each takes 50~60 cycles.

renaming: get_schedule_lock -> obtain_schedule_lock

Tracked-On: #3813
Signed-off-by: Conghui Chen <conghui.chen@intel.com>
Acked-by: Eddie Dong <eddie.dong@intel.com>
2019-10-25 13:00:21 +08:00
..
hv_main.c hv: sched: decouple idle stuff from schedule module 2019-10-23 12:47:08 +08:00
hypercall.c hv: sched: move pcpu_id from acrn_vcpu to thread_object 2019-10-23 12:47:08 +08:00
ptdev.c hv: ptdev: move softirq_dev_entry_list from vm structure to per_cpu region 2019-09-16 09:36:52 +08:00
sched_noop.c hv: sched: decouple scheduler from schedule framework 2019-10-25 13:00:21 +08:00
schedule.c hv: sched: disable interrupt when grab schedule spinlock 2019-10-25 13:00:21 +08:00
softirq.c softirq: move softirq from hv_main to interrupt context 2019-07-22 09:55:06 +08:00
trusty_hypercall.c hv:remove redundant memset in some cases 2019-09-24 09:02:05 +08:00
vm_load.c hv:remove some unnecessary includes 2019-10-15 14:40:39 +08:00