Interrupt storm

In operating systems, an interrupt storm is an event during which a processor receives an inordinate number of interrupts that consume the majority of the processor's time. Interrupt storms are typically caused by hardware devices that do not support interrupt rate limiting.

Background

Because interrupt processing is typically a non-preemptible task in time-sharing operating systems, an interrupt storm will cause sluggish response to user input, or even appear to freeze the system completely. This state is commonly known as live lock. In such a state, the system is spending most of its resources processing interrupts instead of completing other work. To the end-user, it does not appear to be processing anything at all as there is often no output. An interrupt storm is sometimes mistaken for thrashing, since they both have similar symptoms (unresponsive or sluggish response to user input, little or no output).

Common causes include: misconfigured or faulty hardware, faulty device drivers, flaws in the operating system, or metastability in one or more components. The latter condition rarely occurs outside of prototype or amateur-built hardware.

Most modern hardware and operating systems have methods for mitigating the effect of an interrupt storm. For example, most Ethernet controllers implement interrupt "rate limiting", which causes the controller to wait a programmable amount of time between each interrupt it generates. When not present within the device, similar functionality is usually written into the device driver, and/or the operating system itself.

The most common cause is when a device "behind" another signals an interrupt to an APIC (Advanced Programmable Interrupt Controller). Most computer peripherals generate interrupts through an APIC as the number of interrupts is most always less (typically 15 for the modern PC) than the number of devices. The OS must then query each driver registered to that interrupt to ask if the interrupt originated from its hardware. Faulty drivers may always claim "yes", causing the OS to not query other drivers registered to that interrupt (only one interrupt can be processed at a time). The device which originally requested the interrupt therefore does not get its interrupt serviced, so a new interrupt is generated (or is not cleared) and the processor becomes swamped with continuous interrupt signals. Any operating system can live lock under an interrupt storm caused by such a fault. A kernel debugger can usually break the storm by unloading the faulty driver, allowing the driver "underneath" the faulty one to clear the interrupt, if user input is still possible.

This occurred in an older version of FreeBSD, where PCI cards that were configured to operate in ISA compatibility mode could not properly interact with the ISA interrupt routing. This would either cause interrupts to never be detected by the operating system, or the operating system would never be able to clear them, resulting in an interrupt storm. [1]

As drivers are most often implemented by a 3rd party, most operating systems also have a polling mode that queries for pending interrupts at fixed intervals or in a round-robin fashion. This mode can be set globally, on a per-driver, per-interrupt basis, or dynamically if the OS detects a fault condition or excessive interrupt generation. A polling mode may be enabled dynamically when the number of interrupts or the resource use caused by an interrupt, passes certain thresholds. When these thresholds are no longer exceeded, an OS may then change the interrupting driver, interrupt, or interrupt handling globally, from an interrupt mode to a polling mode. Interrupt rate limiting in hardware usually negates the use of a polling mode, but can still happen during normal operation during intense I/O if the processor is unable switch contexts quickly enough to keep pace.

History

Perhaps the first interrupt storm occurred during the Apollo 11's lunar descent in 1969.[2]

Considerations

Interrupt rate limiting must be carefully configured for optimum results. For example, an Ethernet controller with interrupt rate limiting will buffer the packets it receives from the network in between each interrupt. If the rate is set too low, the controller's buffer will overflow, and packets will be dropped. The rate must take into account how fast the buffer may fill between interrupts, and the interrupt latency between the interrupt and the transfer of the buffer to the system.

Interrupt mitigating

There are hardware-based and software-based approaches to the problem. For example, FreeBSD detects interrupt storms and masks problematic interrupts for some time in response.[citation needed]

The system used by NAPI is an example of the hardware-based approach: the system (driver) starts in interrupt enabled state, and the Interrupt handler then disables the interrupt and lets a thread/task handle the event(s) and then task polls the device, processing some number of events and enabling the interrupt.

Another interesting approach using hardware support is one where the device generates interrupt when the event queue state changes from "empty" to "not empty". Then, if there are no free DMA descriptors at the RX FIFO tail, the device drops the event. The event is then added to the tail and the FIFO entry is marked as occupied. If at that point entry (tail−1) is free (cleared), an interrupt will be generated (level interrupt) and the tail pointer will be incremented. If the hardware requires the interrupt be acknowledged, the CPU (interrupt handler) will do that, handle the valid DMA descriptors at the head, and return from the interrupt.

See also

References

  1. ^ "Problems updating FreeBSD's card system from ISA to PCI". www.usenix.org. Retrieved 2024-05-07.
  2. ^ Murray, Charles (1989). Apollo: The Race to the Moon. Simon and Schuster. pp. 345–355.

Read other articles:

Ōkura 大蔵村DesaKantor Desa Ōkura BenderaEmblemLokasi Ōkura di Prefektur YamagataŌkuraLokasi di JepangKoordinat: 38°42′15″N 140°13′49.3″E / 38.70417°N 140.230361°E / 38.70417; 140.230361Koordinat: 38°42′15″N 140°13′49.3″E / 38.70417°N 140.230361°E / 38.70417; 140.230361Negara JepangWilayahTōhokuPrefektur YamagataDistrikMogamiPemerintahan • WalidesaMasami KatōLuas • Total211,59...

 

2017 Australian Indigenous reform petition This article is part of a series on theAboriginal andTorres Strait Islander Voice Proposed Australian federal Indigenous advisory body to represent Indigenous communities. Background Constitutional recognition of Indigenous Australians Reconciliation in Australia Indigenous treaties in Australia Australian Indigenous sovereignty 2023 referendum Opinion polling Endorsements Results See also Uluru Statement from the Heart State and territory voices ...

 

2017 Élections législatives de 2022 dans les Alpes-de-Haute-Provence 2 sièges de députés à l'Assemblée nationale 12 et 19 juin 2022 Type d’élection Élections législatives Corps électoral et résultats Population 164 308 Inscrits au 1er tour 128 623 Votants au 1er tour 66 962   52,06 %  0,8 Votes exprimés au 1er tour 65 169 Votes blancs au 1er tour 1 292 Votes nuls au 1er tour 501 Inscrits au 2d tour 128 626 Votants au 2d tour ...

Королевский театр Дании Королевский театр, 2009 год. Основан 1748 год Здание театра Местоположение Копенгаген, Дания 55°40′45″ с. ш. 12°35′10″ в. д.HGЯO Архитектор Vilhelm Dahlerup[d] Вместимость 1600 Руководство Директор Эрик Якобсендат. Erik Jacobsen Сайт kglteater.dk  Медиафайлы на Викис...

 

Liga Leumit 1963-1964 Competizione Liga Leumit Sport Calcio Edizione 24ª Organizzatore IFA Date dal 12 ottobre 1963all'11 luglio 1964 Luogo  Israele Partecipanti 15 Formula 1 girone all'italiana Risultati Vincitore Hapoel Ramat Gan(1º titolo) Retrocessioni Hapoel Lod Statistiche Miglior marcatore Israel Ashkenazi (21) Incontri disputati 210 Gol segnati 589 (2,8 per incontro) Cronologia della competizione 1962-1963 1964-1965 Manuale La Liga Leumit 1963-1964 è stata la 24...

 

Thai dish of stewed pork over rice Khao kha muAlternative namesKha mu, kha mu phaloTypeRice dishCourseMain coursePlace of originThailandRegion or stateSoutheast AsiaCreated byThai ChineseServing temperatureHotMain ingredientspig's trotter, steamed rice, half spiced corned egg, lettuce pickles, blanched kale, fresh bird's eye chili peppers, garlic with dipping sour and spicy sauce Khao kha mu Khao kha mu (Thai: ข้าวขาหมู, pronounced [kʰâːw kʰǎː mǔː], lit.̴...

Hong Kong government department Food and Environmental Hygiene Department食物環境衞生署Agency overviewFormed1 January 2000; 24 years ago (2000-01-01)Preceding agenciesUrban CouncilRegional CouncilHeadquarters44/F Queensway Government Offices, 66 Queensway, Hong KongEmployees11,153 (March 2014)[1]Annual budgetHK$5,667,200,000 (2014-15 estimate)[1]Agency executiveIrene Young, Director of Food and Environmental HygieneParent agencyEnvironment and Ecology ...

 

Sibilla d'Angiò[1] (1112 circa – Betania, 1165) fu Contessa consorte delle Fiandre dal 1134 alla sua morte. Basilica del Sacro Sangue di Bruges- Sibilla d'Angiò col secondo marito, Teodorico di Alsazia Indice 1 Origine 2 Biografia 3 Figli 4 Ascendenza 5 Note 6 Bibliografia 6.1 Fonti primarie 6.2 Letteratura storiografica 7 Voci correlate 8 Altri progetti 9 Collegamenti esterni Origine Anche se l'arcivescovo, Guglielmo, della città di Tiro, nell'odierno Libano, nel suo Historia re...

 

この記事は検証可能な参考文献や出典が全く示されていないか、不十分です。出典を追加して記事の信頼性向上にご協力ください。(このテンプレートの使い方)出典検索?: コルク – ニュース · 書籍 · スカラー · CiNii · J-STAGE · NDL · dlib.jp · ジャパンサーチ · TWL(2017年4月) コルクを打ち抜いて作った瓶の栓 コルク(木栓、�...

لودون     الإحداثيات 43°17′08″N 71°28′04″W / 43.285555555556°N 71.467777777778°W / 43.285555555556; -71.467777777778   [1] تاريخ التأسيس 1773  تقسيم إداري  البلد الولايات المتحدة[2]  التقسيم الأعلى مقاطعة ميريماك  خصائص جغرافية  المساحة 47.5 ميل مربع  ارتفاع 113 متر  عدد �...

 

Cet article est une ébauche concernant l’Ontario. Vous pouvez partager vos connaissances en l’améliorant (comment ?) selon les recommandations des projets correspondants. Plaque commémorative à Burlington Heights Burlington Heights est un lieu historique situé en bordure du lac Ontario, à Hamilton. Ce promontoire a été désigné lieu historique national du Canada en 1929[1]. Il s'élève à 30 m au-dessus du niveau du lac. Il est composé de parcs, d'un cimetière et d'un ja...

 

  لمعانٍ أخرى، طالع كي (توضيح). هذا اسمٌ كوريّ؛ وبذلك فإن كيم هو اسم العائلة كي كي في إس إم تاون في يناير 2015. معلومات شخصية اسم الولادة 김기범 الميلاد 23 سبتمبر 1991 (العمر 32 سنة)دايغو،  كوريا الجنوبية الإقامة سول  الجنسية سول (كوريا)،  كوريا الجنوبية عضو في شايني  ال�...

Seorang tentara memberi air kepada seorang anak Pakistan saat diungsikan dari Muzaffarabad ke Islamabad. Bantuan kemanusiaan adalah bantuan materi dan logistik kepada orang-orang yang membutuhkan. Biasanya bantuan ini bersifat sementara sampai digantikan oleh bantuan pemerintah dan lembaga lain dalam jangka panjang. Orang-orang yang membutuhkan tersebut adalah tunawisma, pengungsi, korban krisis kemanusiaan seperti bencana alam, perang, dan kelaparan. Tujuan utama bantuan kemanusiaan adalah m...

 

Singapore-related events during 2007 This is a dynamic list and may never be able to satisfy particular standards for completeness. You can help by adding missing items with reliable sources. ← 2006 2005 2004 2007 in Singapore → 2008 2009 2010 Decades: 1980s 1990s 2000s 2010s 2020s See also: Other events of 2007 Timeline of Singaporean history The following lists events that happened during 2007 in the Republic of Singapore. Incumbents President: S.R. Nathan Prime Minister: Lee Hs...

 

CW affiliate in Waterbury, Connecticut This article is about the Connecticut television station. For the South Carolina television station which previously held this call sign, see WACH. WTXX-TV redirects here. Not to be confused with WTXX-LD. WCCT-TVATSC 3.0 stationWaterbury–Hartford–New Haven, ConnecticutUnited StatesCityWaterbury, ConnecticutChannelsDigital: 33 (UHF)Virtual: 20BrandingCW 20ProgrammingAffiliations20.1: The CWfor others, see § SubchannelsOwnershipOwnerTegna Inc.(Te...

Grappling position Pinch grip tieA wrestler with a pinch grip tieClassificationClinch holdStyleWrestlingAKAHead and arm A pinch grip tie, or an over-under bodylock, is a clinch hold and stand-up grappling position that is an extension of the over-under position, but having both hands locked behind the opponents back.[1] The hands are typically locked with a palm-to-palm grip, palm-to-wrist grip or fingers-to-fingers grip. The pinch grip tie can be used to throw the opponent, but usual...

 

Methods to reduce sound pressure A pair of headphones being tested inside an anechoic chamber for soundproofing This article may require cleanup to meet Wikipedia's quality standards. The specific problem is: There are too many short sections. Please help improve this article if you can. (December 2023) (Learn how and when to remove this message) Soundproofing is any means of impeding sound propagation. There are several basic ways to reduce sound: increasing the distance between source and r...

 

Untuk gubernur di Sulawesi pada awal kemerdekaan Indonesia, lihat Daftar Gubernur Sulawesi. Gubernur Sulawesi BaratLambang Sulawesi BaratPetahanaBahtiar BaharuddinPenjabatsejak 17 Mei 2024Pemerintah Provinsi Sulawesi BaratKediamanRumah Dinas Gubernur Sulawesi BaratMasa jabatan5 tahun; dapat diperpanjang sekaliPejabat perdanaOentarto Sindung Mawardi (Penjabat)Anwar Adnan Saleh (definitif)Dibentuk16 Oktober 2004; 19 tahun lalu (2004-10-16)WakilWakil Gubernur Sulawesi BaratSitus webSit...

American legal comedy-drama television series Harry's LawAlso known asKindredsGenre Legal drama Comedy drama Created byDavid E. KelleyStarring Kathy Bates Nate Corddry Brittany Snow Aml Ameen Karen Olivo Mark Valley Christopher McDonald Justine Lupe ComposerDanny LuxCountry of originUnited StatesOriginal languageEnglishNo. of seasons2No. of episodes34 (list of episodes)ProductionExecutive producers David E. Kelley Bill D'Elia Production locationsCincinnati, OhioRunning time42 minutesProductio...

 

German socialist politician (1871–1919) Karl LiebknechtLiebknecht c. 1911Member of the Reichstag for Potsdam 7In office7 February 1912 – 26 October 1918Preceded byAugust PauliSucceeded byConstituency abolished Personal detailsBornKarl Paul August Friedrich Liebknecht(1871-08-13)13 August 1871Leipzig, Kingdom of Saxony, German EmpireDied15 January 1919(1919-01-15) (aged 47)Berlin, German RepublicCause of deathExtrajudicial executionCitizenshipGermanNationalityGerma...