Linux. Debian 9 долгая загрузка на GA-970A-DS3P. Проблема в IOMMU

Загрузка Debian 9 происходит долго, dmesg показал задержку в 17 секунд на одной строке:

[ 2.499642] clocksource: tsc: mask: 0xffffffffffffffff max_cycles: 0x3422486b4f5, max_idle_ns: 440795265611 ns
[ 19.316440] xhci_hcd 0000:02:00.0: can't setup: -110

Поиски в интернете указали причину — IOMMU. Статья с подобной проблемой, а в ней ссылка на еще одну полезную статью.

Прямое выполнение рекомендаций не помогло, либо не работали USB 2.0, либо USB 3.0. Но перебрав несколько комбинаций настройки BIOS получил быструю загрузку и все работающие USB-порты.

Решение

Настройка GRUB

Первым делом необходимо переключить поддержку IOMMU с железа на ОС. Программная поддержка IOMMU была добавлена в ядре 3.6. Для этого поправим настройки GRUB

# nano /etc/default/grub

Необходимо изменить значение параметра GRUB_CMDLINE_LINUX добавив значение iommu=soft, у меня параметр был пуст и получилось так:

GRUB_CMDLINE_LINUX="iommu=soft"

Теперь выполним обновление конфигурации GRUB

# update-grub

Настройка BIOS

Тут есть некоторое отступление. Ранее принудительно включал опцию IOMMU в биосе, на 890, 970 и 990 чипсетах опция по умолчанию была отключена. А если она была отключена, то на архитектуре AMD64 не работала сеть(о чем еще в 2013 году писал вопрос на kubuntu.ru) и не работала загрузка с USB.

Заходим в BIOS, переходим в раздел Peripherals и выставляем следующие значения параметров:

Linux. Debian 9 долгая загрузка на GA-970A-DS3P. Проблема в IOMMU

Перезагружаемся и проверяем результат. Загрузка прошла очень быстро, USB 2.0 и USB 3.0 в строю, нагрузки на процессор не замечено.

Для сравнения часть выхлопа dmesg до и после изменений сохранил: это до, а это после. Начало и конец фрагментов одинаковы, разница во времени 20 секунд.

Понравилась статья? Поделиться с друзьями:
Комментарии: 2
  1. Федор

    Благодетель мой, скажи, как ты на эту железочку Debian 9 поставил?
    Купил сегодня на замену ASUS M5A97 LE — не взлетело.

    1. Guesto (автор)

      Федор, проблем с установкой не заметил.
      Из предположений:
      1. В BIOS отключен IOMMU;
      2. Готовится кривой загрузочный образ, попробовал бы командой dd;
      3. Смотреть в сторону вариантов установки с/без UEFI.

Добавить комментарий

;-) :| :x :twisted: :smile: :shock: :sad: :roll: :razz: :oops: :o :mrgreen: :lol: :idea: :grin: :evil: :cry: :cool: :arrow: :???: :?: :!: