ЭФФЕКТИВНАЯ МАРШРУТИЗАЦИЯ ПРЕРЫВАНИЙ ДЛЯ МНОГОПОТОЧНОГО ПРОЦЕССА

1. Способ реализации измененной приоритетной маршрутизации прерываний ввода/вывода (I/O), содержащий
выявление посредством процессора того, является ли прерывание I/O отложенным для ядра,
выявление посредством процессора того, является ли какой-либо из нескольких гостевых потоков ядра активированным для обработки гостевым потоком прерывания в ответ на выявление того, что прерывание I/O является отложенным,
выявление посредством процессора того, находится ли по меньшей мере один из нескольких гостевых потоков, активированных для обработки гостевым потоком, в состоянии ожидания, и
маршрутизацию посредством процессора прерывания I/O к гостевому потоку, активированному для обработки гостевым потоком и находящемуся в состоянии ожидания, на основании выявления того, что по меньшей мере один из нескольких гостевых потоков, активированных для обработки гостевым потоком, находится в состоянии ожидания.
2. Способ по п. 1, причем прерывание I/O обозначают в матрице отложенных прерываний как отложенное.
3. Способ по п. 1, причем бит состояния и бит управления для каждого гостевого потока конфигурируют для активирования этого потока для обработки гостевым потоком прерывания.
4. Способ по п. 1, кроме того, включающий в себя маршрутизацию прерывания I/O к одному из нескольких гостевых потоков, активированных для обработки гостевым потоком, на основании выявления того, что ни один из нескольких гостевых потоков, активированных для обработки гостевым потоком, не находится в состоянии ожидания.
5. Способ по п. 1, причем в ответ на выявление того, что более чем один из нескольких гостевых потоков, активированных для обработки гостевым потоком, находятся в состоянии ожидания, для выбора гостевого потока используют алгоритм маршрутизации.
6. Способ по п. 1, кроме того, включающий в себя инициирование задержки маршрутизации прерывания I/O к хосту, на основании выявления того, что ни один из нескольких гостевых потоков не является активированным для обработки гостевым потоком.
7. Способ по п. 6, кроме того, включающий в себя выявление после инициирования задержки того, является ли какой-либо из нескольких гостевых потоков ядра активированным для обработки гостевым потоком.
8. Система для реализации измененной приоритетной маршрутизации прерываний ввода/вывода (I/O), содержащая процессор и память,
причем процессор сконфигурирован для:
выявления того, является ли прерывание I/O отложенным для ядра,
выявления того, является ли какой-либо из нескольких гостевых потоков ядра активированным для обработки гостевым потоком прерывания на основании выявления того, что прерывание I/O является отложенным,
выявления того, находится ли по меньшей мере один из нескольких гостевых потоков, активированных для обработки гостевым потоком, в состоянии ожидания, и
маршрутизации прерывания I/O к гостевому потоку, активированному для обработки гостевым потоком и находящемуся в состоянии ожидания, на основании выявления того, что по меньшей мере один из нескольких гостевых потоков, активированных для обработки гостевым потоком, находится в состоянии ожидания.
9. Система по п. 8, причем прерывание I/O обозначено в матрице отложенных прерываний как отложенное.
10. Система по п. 8, причем бит состояния и бит управления для каждого гостевого потока является сконфигурированными для активирования этого потока для обработки гостевым потоком прерывания.
11. Система по п. 8, причем процессор, кроме того, сконфигурирован для маршрутизации прерывания I/O к одному из нескольких гостевых потоков, активированных для обработки гостевым потоком, на основании выявления того, что ни один из нескольких гостевых потоков, активированных для обработки гостевым потоком, не находится в состоянии ожидания.
12. Система по п. 8, причем в ответ на выявление того, что более чем один из нескольких гостевых потоков, активированных для обработки гостевым потоком, находятся в состоянии ожидания, для выбора гостевого потока используется алгоритм маршрутизации.
13. Система по п. 8, причем процессор, кроме того, сконфигурирован для инициирования задержки маршрутизации прерывания I/O к хосту на основании выявления того, что ни один из нескольких гостевых потоков не является активированным для обработки гостевым потоком.
14. Система по п. 13, причем процессор, кроме того, сконфигурирован для выявления после инициирования задержки того, является ли какой-либо из нескольких гостевых потоков ядра активированным для обработки гостевым потоком.
15. Компьютерный программный продукт, причем компьютерный программный продукт содержит машиночитаемый информационный носитель, имеющий сохраненные на нем программные команды, реализующие измененную приоритетную маршрутизацию прерываний ввода/вывода (I/O), причем программные команды являются исполняемыми посредством процессора для принуждения процессора к:
выявлению того, является ли прерывание I/O отложенным для ядра,
выявлению того, является ли какой-либо из нескольких гостевых потоков ядра активированным для обработки гостевым потоком прерывания на основании выявления того, что прерывание I/O является отложенным,
выявлению того, находится ли по меньшей мере один из нескольких гостевых потоков, активированных для обработки гостевым потоком, в состоянии ожидания, и
маршрутизации прерывания I/O к гостевому потоку, активированному для обработки гостевым потоком и находящемуся в состоянии ожидания, на основании выявления того, что по меньшей мере один из нескольких гостевых потоков, активированных для обработки гостевым потоком, находится в состоянии ожидания.
16. Компьютерный программный продукт по п. 15, причем прерывание I/O обозначено в матрице отложенных прерываний как отложенное.
17. Компьютерный программный продукт по п. 15, причем бит состояния и бит управления для каждого гостевого потока является сконфигурированными для обработки гостевым потоком прерывания.
18. Компьютерный программный продукт по п. 15, причем программные команды являются также исполняемыми посредством процессора для принуждения процессора к маршрутизации прерывания I/O к одному из нескольких гостевых потоков, активированных для обработки гостевым потоком, на основании выявления того, что ни один из нескольких гостевых потоков, активированных для обработки гостевым потоком, не находится в состоянии ожидания.
19. Компьютерный программный продукт по п. 15, причем в ответ на выявление того, что более чем один из нескольких гостевых потоков, активированных для обработки гостевым потоком, находятся в состоянии ожидания, для выбора гостевого потока используется алгоритм маршрутизации.
20. Компьютерный программный продукт по п. 15, причем программные команды являются также исполняемыми посредством процессора для принуждения процессора к инициированию задержки маршрутизации прерывания I/O к хосту на основании выявления того, что ни один из нескольких гостевых потоков не является активированным для обработки гостевым потоком.