У меня есть ядро linux реального времени, и я разрабатываю код с потоком ядра. Этот поток вызывается обработчиком прерываний Ethernet. Я заметил, что каждый вызов этой нити занимает около 100 мифов. За это время он считывает около 256 кадров Ethernet. Ethernet имеет скорость 1 Гбит/с и скорость загрузки, которую я измерил, составляет около 4 МБ/с. Я думаю, что скорость 4 МБ/с, использующая 1 Гбит/с Ethernet, слишком медленная.linux - предел памяти ядра
Я пытаюсь профилировать этот поток ядра, потому что я думаю, что 100 jiffies слишком много. Я хотел бы спросить, есть ли способ сообщить, сколько раз этот поток ядра был выгружен?
Является ли ваше ядро скомпилировано с Включена опция «RT_PREEMPT»? – LPs
В конфигурационном файле ядра такой опции нет, но uname -a показывает: SMP PREEMPT. – user2699113
Что именно означает «называть» поток? Ваша нить спала, и обработчик прерывания ее пробуждает? Как долго ваш jiffy (обычно это зависит от настройки HZ)? При типичных настройках 100 jiffies будут длительное время, и ваш NIC должен иметь возможность получать десятки тысяч кадров в этот период (Gb ethernet до 1.488 миллионов кадров в секунду). –