1
ответ

__ отчет _плохой _irq не получен

Я застрял в одной проблеме, в которой я получаю __отчет _плохой _стек вызовов irq непоследовательно. Насколько мне известно, всякий раз, когда у нас есть 100000 необработанных прерываний, этот стек срабатывает. Вывод из cat /proc/irq/128/...
26.03.2020
1
ответ

Обработка прерывания при работе с ядром

Я знаю, как работает обработка прерывания (переключение режима, сохранение регистров, изменение стека...). Однако мне любопытно, а что, если прерывание произойдет, когда мы все еще находимся в режиме ядра, а не в пользовательском режиме?
08.03.2020
1
ответ

redhat 7.7 nohz_full динамическое поведение без тиков

Я пытаюсь установить динамическое поведение без тиков на определенных ядрах (ядра 2–11), перемещая все хронометраж на единственные неуказанные ядра (ядра 0-1). Однако, когда я выполняю инструкции, указанные в: ...
24.02.2020
1
ответ

Безопасно ли использовать раздел .bss в качестве статического стека?

(Это в контексте x86-64 Linux.) Я пытаюсь написать высоконадежный исполняемый файл пользовательской среды, и у меня есть полный контроль над сгенерированной сборкой. Я не хочу полагаться на автоматический стек...
28.01.2020
1
ответ

Что такое нечисловые IRQ в /proc/interrupts?

cat /proc/interrupts показывает кучу IRQ, таких как NMI и LOC. Построчные комментарии в выводе дают четкое объяснение, но если они не имеют числового номера IRQ, как реагирует ЦП x86 ...
24.01.2020
1
ответ

Будет ли контекст асинхронного прерывания записывать в таблицу страниц в ядре Linux?

В частности, в ядре Linux возможна перезапись таблицы страниц (level3_kernel_pgt) при возникновении контекста асинхронного прерывания (прерывания по локальному таймеру). Я видел...
15.01.2020
1
ответ

Системные прерывания. Когда это слишком?

Мы тестируем Linux Server в качестве VPN-маршрутизатора. У нас неплохой сервер, и количество прерываний, с которыми мы сталкиваемся сейчас, составляет ~ 170 000, но мы ожидаем большего. Использование процессора в порядке. Как узнать, когда слишком...
16.12.2019
1
ответ

Почему у нас так много нулей в поле intr в /proc/stat

Я изучаю поле intr в /proc/stat. # кошачья статистика процессор 10438 2056 25767 10098612 2490 0 1846 0 0 0 ЦП0 1768 260 4750 1681597 119 0 608 0 0 0 ЦП1 1735 67 5119 1683444 342 0 280 0 0 0 cpu2 1908 ...
13.12.2019
1
ответ

Прерывание дочерних процессов из bash-скрипта по Ctrl+C

Я запускаю два дочерних процесса из bash-скрипта и жду завершения обоих с помощью команды ожидания: ./proc1 & pid1=$! echo "запущен proc1: ${pid1}" ./proc2 & pid2=$! echo "started proc2: ${...
11.10.2019
1
ответ

Как определить природу прерывания по его номеру?

Я пытаюсь загрузить/установить Linux для обучения, используя старый ПК (HP Pavilion Elite m9660de). Следующее сообщение — первое, что появляется при загрузке (Ubuntu и Fedora, обе из ...
12.08.2019
1
ответ

Насколько быстрым является прерывание ввода-вывода в Linux по сравнению с «голым железом»? (ARM, Raspberry Pi)

Я читал, что прерывание в Linux (это было о Raspberry Pi) может занять «долгое время» для обработки или, скажем, «начать делать то, что хочет программист». Так ли это и насколько это плохо? Есть ли большое...
14.07.2019
1
ответ

Какова политика, определяющая, какой ЦП обрабатывает какое прерывание в ядре Linux?

Я читал Linux Kernel Development и кое-что не совсем понял для меня — когда аппаратное прерывание вызывается аппаратным обеспечением, каков критерий выбора процессора для запуска...
18.06.2019
1
ответ

Написание и выполнение программы для поведения консоли

Я написал набор программ, предназначенных для использования радиопередатчика-приемника (NRF24L01) для соединения двух устройств, как если бы они были подключены через последовательный интерфейс. В настоящее время я могу ...
07.06.2019
1
ответ

Когда нужен `irqbalance` в Linux VM под VMware?

У меня есть Linux ферма в VMware Enterprise 5.5. ВМ - это (в основном) 64-битные серверы amd64 Debian Jessie с SysVinit, а не systemd. На ВМ установлен open-vm-tools. Я паравиртуализировал их ...
24.04.2019
1
ответ

Сохранение данных из модуля ядра в пользовательское пространство

Я некоторое время занимался программированием ядра и хотите создать этот простой интерфейс сбора данных с помощью специального оборудования. Для переносимости и повторного использования я все это делаю на своем ...
14.04.2019
1
ответ

О IRQF_DISABLED флагах

Я читаю об учебнике по request_irq, я новичок в этой теме, так что мне нужна некоторая проверка идей: Когда он установлен, этот флаг инструктирует ядро отключать все прерывания при выполнении этого ...
27.12.2018
1
ответ

Блокировка ресурсов в прерываниях

У меня есть модуль ядра с крючками NetFilter в разных точках на маршруте пакетов, а крюки используют общие ресурсы. Кроме того, модуль имеет шарное устройство, которое может быть записано, что также ...
22.12.2018
1
ответ

Как игнорировать прерывания с помощью командных команд

в следующей цепочке командных команд, когда прерывание отправляется с Ctrl-C, Ping может распечатать его сводную статистику перед выходом, до тех пор, пока TEE имеет -i (игнорировать прерывания) Флаг: Ping -...
12.09.2018
1
ответ

Как ограничить сигнал прерывания только для дочернего процесса?

У меня есть куча файлов журнала, и я хочу сделать для них tail -f в цикле, чтобы, когда я нажимаю Ctrl-C, текущий tail -f убивается, и я перехожу к следующий файл журнала: для входа в систему * .log; сделать ...
04.09.2018
1
ответ

Не может изменить значение в SMP_affinity

Я пытаюсь установить аффинность IRQ на Linux, изменив значение в SMP_affinity. Когда я повторяю новое значение в файл, я не получаю никакой ошибки, но когда я справляюсь, значение остается неизменным. Я ...
29.06.2018
1
ответ

Может ли оборудование, генерирующее слишком много прерываний, монополизировать ЦП?

Скажем, мой сетевой интерфейс получает слишком много пакетов, а у меня одноядерный процессор. Что мешает ему (если вообще) продолжать прерывать работу ядра и по существу монополизировать ЦП (top -...
30.04.2018
1
ответ

Что происходит, когда происходит переключение контекста, когда процесс находится в режиме ядра?

Я понимаю: когда в пользовательском режиме происходит прерывание / системный вызов, регистры сохраняются в стеке ядра, переключатель переводится в режим ядра, а прерывание обрабатывается и возвращается в пользовательский режим. ...
05.03.2018
1
ответ

Определение таких устройств, как virtio2 и virtio3 в QEmu

Я запускаю виртуальную машину в QEmu. Следующая команда в гостевой виртуальной машине cat / proc / interrupts | egrep 'virtio. * (input | output)' дает мне следующий результат: 26: 0 3376 0 ...
01.01.2018
1
ответ

Как протестировать функцию NAPI в linux?

Я пытаюсь протестировать функциональность NAPI во встроенной среде linux. Я использовал 'pktgen' для генерации большого количества пакетов и попытался проверить количество прерываний моего сетевого интерфейса по адресу /...
07.07.2016
1
ответ

ядро ​​:hpet1 :потеряно 19 прерываний rtc

У меня есть эта ошибка, которая заполняет мой системный журнал каждый день. В качестве решения на форуме arch linux есть hpet=disable в командной строке ядра, но я думаю, что это плохая идея, и я ищу другое решение. Есть...
22.04.2016
1
ответ

Как диагностировать высокое время ядра (высокое использование сети; высокие прерывания)

Я заметил, что у меня есть высокое время ядра при выполнении большого сетевого трафика в Linux. Я также заметил, что 45% моего ЦП потрачены, делая прерывания. Как я могу далее диагностировать это?
25.03.2016
1
ответ

Что может прервать выполнение потоков, закрепленных на ядрах?

Я занимаюсь разработкой приложений с малой задержкой, использую isocpu и устанавливаю сходство потоков, чтобы уменьшить (устранить?) переключение контекста во время критических потоков. Однако я не знаю, какие другие типы ...
28.11.2015
1
ответ

Есть ли «верхний» учет прерываний ядра?

У меня есть простое прерывание, которое запускается через вход GPIO. IRQ только увеличивает значение переменной и возвращает ее. Когда я увеличиваю частоту прерываний примерно до 10-20 кГц, система ...
23.11.2015
1
ответ

Указатель стека прерывания

Ядро Linux имеет отдельные стеки для пользовательского режима и процесса режима ядра, а также некоторые специальные стеки. Один из этих специальных стеков - стек прерываний размером 16 килобайт, помещенный в ...
22.08.2015
1
ответ

Каждый сетевой пакет вызывает прерывание к ЦП?

В то время как я знаю, что партия пакетной обработки (вычисления CRC, обработка сегментации пакетов, и т.д.) может быть разгружена к NIC, затем каждый пакет все еще вызывает прерывание к ЦП? Есть ли различие если...
13.11.2014