Что ограничивает количество дескрипторов IRQ, которые может поддерживать платформа Linux?Linux

Anonymous
Что ограничивает количество дескрипторов IRQ, которые может поддерживать платформа Linux?

Сообщение Anonymous »

Итак, у меня старая аппаратная платформа, в ядре которой жестко запрограммирован NR_IRQS, определяющий количество доступных дескрипторов IRQ. Этот предел соответствует общему количеству аппаратных прерываний плюс количеству доступных GPIO на этом устройстве.
Недавно пытаясь использовать новое периферийное устройство, использующее триггер IIO, я понял, что все доступные дескрипторы IRQ, определенные для этой платформы, выделяются при запуске. В массиве irq_desc не осталось места для IIO для регистрации новых программных прерываний. Но если я просто произвольно увеличим NR_IRQS, то все будет работать нормально.
Мне кажется странным, что моя платформа выделяет дескрипторы для всех доступных аппаратных прерываний и GPIO, но не позволяет для других произвольных программных прерываний. Итак, мой вопрос: что определяет предел количества дескрипторов IRQ, которые могут быть определены для любой конкретной платформы, если предположить, что прерывания основаны на программном обеспечении?

Подробнее здесь: https://stackoverflow.com/questions/792 ... an-support

Вернуться в «Linux»