mirror of
https://github.com/projectacrn/acrn-hypervisor.git
synced 2026-01-05 23:57:10 +00:00
HV: modify code for intr storm detect & handling
This patch is to enhance the feature of "interrupt storm mitigation"; when interrupt storm happens on one UOS it should keep as smaller effect to SOS as possible. Add variables in PTdev entry & VM, used to record one UOS's pass-thru devices' interrupt data; add a function to collect the data. Also add a timer used to delay UOS pass-thru devices' interrupt injection if an "interrupt storm" detected by SOS. Tracked-On: #866 Signed-off-by: Minggui Cao <minggui.cao@intel.com> Reviewed-by: Li Fei1 <fei1.li@intel.com> Acked-by: Anthony Xu <anthony.xu@intel.com>
This commit is contained in:
@@ -61,6 +61,9 @@ struct ptdev_remapping_info {
|
||||
struct list_head softirq_node;
|
||||
struct list_head entry_node;
|
||||
struct ptdev_msi_info msi;
|
||||
|
||||
uint64_t intr_count;
|
||||
struct hv_timer intr_delay_timer; /* used for delay intr injection */
|
||||
};
|
||||
|
||||
extern struct list_head ptdev_list;
|
||||
@@ -83,4 +86,7 @@ void ptdev_deactivate_entry(struct ptdev_remapping_info *entry);
|
||||
void get_ptdev_info(char *str_arg, int str_max);
|
||||
#endif /* HV_DEBUG */
|
||||
|
||||
uint32_t get_vm_ptdev_intr_data(const struct vm *target_vm, uint64_t *buffer,
|
||||
uint32_t buffer_cnt);
|
||||
|
||||
#endif /* PTDEV_H */
|
||||
|
||||
Reference in New Issue
Block a user