[FreeBSD/ESXi]Interrupt storm op IRQ 18

Pagina: 1
Acties:

Acties:
  • 0 Henk 'm!

  • HyperBart
  • Registratie: Maart 2006
  • Laatst online: 11:20
Ik draai al een tijdje naar alle tevredenheid FreeBSD via ZFSguru. Leuk, instap ligt wat lager door de webinterface die CiPHER en Jason geschreven hebben, en ik heb voorlopig een oer-veilige NAS/SAN.

Maar! Doordat ik virtualiseer kan ik virtuele netwerkadapters toevoegen. Je kan onder ESXi een E1000-adapter toevoegen, wat niet meer is dan een geëmuleerde Intel E1000 adapter, kost wat processing power en het grootste nadeel is dat die E1000 gelimiteerd is tot 1Gbit. De VMXNET3 adapter daarentegen 8) zit op 10GBit :9~ . Omdat mijn ZFS machine ook als SAN (via NFS) fungeert voor ESXi zelf (ja ik weet het, ESXi virtualiseert een FreeBSD machine die op zijn beurt storage presenteert aan ESXi) had ik graag die 10Gbit werkend gekregen, en daar wringt het schoentje:

Vanaf het moment dat ik die adapter toevoeg loopt de console van mijn VM vol met:

interrupt storm detected on "irq18:"; throttling intterupt source


Niet zo leuk, want voor wat ik ervan begrepen heb wilt dat zeggen dat een device, zijnde virtueel of fysiek (kom ik later op terug) gigantisch vaak de CPU zit te porren "Ey! Ik wil aandacht, joehoe!" waardoor de CPU zegt: "Euh gast, fuck off, je gaat de strafbank op, je valt me te vaak lastig".

Men moet weten dat er één speciaal ding is aan die VM (en daar ligt volgens mij een stukje van het probleem) en dat is dat deze VM via VT-d een IBM M1015 gepassthroughed heeft gekregen vanuit ESXi... Basically houdt dat in dat alleen die VM exclusief toegang heeft tot dat PCIe-device.

Wat heb ik opgezocht: dat je met bepaalde commando's een lijstje kan krijgen van welk apparaat op welke IRQ hangt. Omdat ik begrepen dat interrupt storms vooral voorkomen wanneer twee devices om de een of andere gekke manier op hetzelfde lijntje terecht komen en dus over dezelfde lijn de CPU zitten te porren... Daardoor denkt die dat er van één bepaald apparaat teveel IRQ's komen, dus wordt dat apparaat even geparkeerd (althans zo heb ik het begrepen).

Uit mijn vmstat -i komt volgend:

Afbeeldingslocatie: http://i.snag.gy/3mnZ0.jpg

Ik begrijp daaruit dat op irq18 maar één apparaat zit: mps0 (ik ben er nog niet uit wat die apparaat naam is, maar ik gok op mijn M1015 controller), maar van waar komen die IRQ storms dan en vooral: hoe los ik dit op?

Acties:
  • 0 Henk 'm!

  • HyperBart
  • Registratie: Maart 2006
  • Laatst online: 11:20
Niemand?

Acties:
  • 0 Henk 'm!

  • d1ng
  • Registratie: Augustus 2009
  • Laatst online: 06-05-2024
Kun je in de BIOS van de VM zien wat er op die IRQ zit ? Misschien dat er iets valt te 'remappen' in de BIOS, bv. door devices weg te halen en weer toe te voegen.

[ Voor 19% gewijzigd door d1ng op 31-01-2013 18:22 ]


Acties:
  • 0 Henk 'm!

  • HyperBart
  • Registratie: Maart 2006
  • Laatst online: 11:20
Neen, die vBIOS biedt niets bekends bij mij om te goochelen met die IRQ's... Ik kan wel wat memory mappings ofzoiets aanpassen, maar dat is dan met geheugenadressen (denk ik) AAFFFF to zoveel enz...

Acties:
  • 0 Henk 'm!

  • Nextron
  • Registratie: Maart 2005
  • Laatst online: 11:16

Nextron

Ik weet dat ik niets weet

In dit ESX 3 artikel gebruiken ze wat andere commando's om IRQ-bezetting te identificeren, namelijk:
cat /proc/interrupts
cat /proc/vmware/interrupts

Ik weet niet of dit nog in het slanke ESXi werkt, maar misschien dat daarmee de conflicterende apparaten te vinden zijn.

Je kunt ook proberen een tweede NIC toe te voegen en kijken of die op een volgend IRQ komt. De eerste kan je dan verwijderen of disconnected laten. Als je nog een PCIe8x-slot over hebt kun je de HBA verhuizen zodat die wellicht op een ander IRQ komt.

Hoe meer ik weet,
hoe meer ik weet,
dat ik niets weet.