Petr Holášek / 1 of 21

Podobné dokumenty
Přednáška. Vstup/Výstup. Katedra počítačových systémů FIT, České vysoké učení technické v Praze Jan Trdlička, 2012

Metody připojování periferií

Metody připojování periferií BI-MPP Přednáška 2

Operační systémy. Tomáš Vojnar IOS 2009/2010. Vysoké učení technické v Brně Fakulta informačních technologií Božetěchova 2, Brno

Obsluha periferních operací, přerušení a jeho obsluha, vybavení systémových sběrnic

Výpočet v módu jádro. - přerušení (od zařízení asynchronně) - výjimky - softvérové přerušení. v důsledku událostí

Komunikace procesoru s okolím

Přerušení POT POT. Přerušovací systém. Přerušovací systém. skok do obslužného programu. vykonávaný program. asynchronní událost. obslužný.

PB153 OPERAČNÍ SYSTÉMY A JEJICH ROZHRANÍ

Stavba operačního systému

Operační systémy. Tomáš Vojnar IOS 2010/2011. Vysoké učení technické v Brně Fakulta informačních technologií Božetěchova 2, Brno

Periferní operace využívající přerušení

udev a kamarádi... Středisko UN*Xových technologií

Periferní operace využívající přerušení

PB153 Operační systémy a jejich rozhraní

Periferní operace využívající přerušení

Operační systémy. Tomáš Vojnar IOS 2014/2015. Vysoké učení technické v Brně Fakulta informačních technologií Božetěchova 2, Brno

Principy operačních systémů. Lekce 8: Ovladače periferií

ACPI a Software Suspend

Počítačové síťě (computer network) Realizují propojení mezi PC z důvodu sdílení SW (informací, programů) a HW(disky, tiskárny..)

DODATEČNÉ INFORMACE K ZADÁVACÍM PODMÍNKÁM Č. 4

Využití ICT pro rozvoj klíčových kompetencí CZ.1.07/1.5.00/

konec šedesátých let vyvinut ze systému Multics původní účel systém pro zpracování textů autoři: Ken Thompson a Denis Ritchie systém pojmnoval Brian

2 Hardware a operační systémy

AGP - Accelerated Graphics Port

SWI 075 Linux Kernel. Úvod

Ovladače pro Windows. Ovladače Windows A4M38KRP. Str. 1

Přechod na virtuální infrastrukturu

Principy počítačů a operačních systémů

Návrh a realizace úprav zvyšující determinovatelnost zpracování zvoleného požadavku IRQ v MS Windows NT/2000/XP využívající obvody PIC-8259A

Základní typy struktur výpočetních systémů

Doba odezvy na vznik přerušení IRQ v závislosti na výkonu PC a operačním systému MS Windows NT/2000/XP

Řízení IO přenosů DMA řadičem

Přednáška 1. Katedra počítačových systémů FIT, České vysoké učení technické v Praze Jan Trdlička, 2012

Architektura počítače

Forenzní analytická jednotka - technická specifikace (9 ks)

Výzva na podání nabídek na veřejnou zakázku malého rozsahu

Pokročilé architektury počítačů

Architektura rodiny operačních systémů Windows NT Mgr. Josef Horálek

10GE síťový prvek. switch & router. Radim Roška & Moris Bangoura Installfest 2012 Silicon Hill

Bootkity v teorii a praxi. Martin Dráb martin.drab@ .cz

Mikrokontroléry. Doplňující text pro POS K. D. 2001

Linuxový kernel v posledních letech

architektura mostů severní / jižní most (angl. north / south bridge) 1. Čipové sady s architekturou severního / jižního mostu

Přerušení na PC. Fakulta informačních technologií VUT v Brně Ústav informatiky a výpočetní techniky. Personální počítače, technická péče cvičení

MS WINDOWS I. řada operačních systémů firmy Microsoft *1985 -? Historie. Práce ve Windows XP. Architektura. Instalace. Spouštění

ISPforum 2016 Jezerka NAT++

Základní deska (1) Parametry procesoru (2) Parametry procesoru (1) Označována také jako mainboard, motherboard

ŘÍDÍCÍ DESKA SYSTÉMU ZAT-DV

Pokročilé architektury počítačů

Uživatelská příručka TG-3269/ TG Adaptér pro Gigabit Ethernet s rozhraním PCI. Rev:

EUSSO UPE 4100-BR. Fast Ethernet PCMCIA Card 32 bitová 10/100 Mbps síťová PCMCIA karta. Uživatelský manuál

HelenOS ARM port. Pavel Jančík Michal Kebrt Petr Štěpán

Další aspekty architektur CISC a RISC Aktuálnost obsahu registru

Displej DT20-6. Update firmware řadiče. Simulační systémy Řídicí systémy Zpracování a přenos dat TM 2012_10_

Činnost počítače po zapnutí

VYUŽITÍ PYTHONU PRO REALTIMOVÉ ŘÍZENÍ PERIFERIÍ

Město Varnsdorf, nám. E. Beneše 470, Varnsdorf, Česká republika SPECIFIKACE

Úvod do Linuxu. SŠSI Tábor 1

TECHNICKÁ SPECIFIKACE

A0M38SPP - Signálové procesory v praxi - přednáška 10 2

SÁM O SOBĚ DOKÁŽE POČÍTAČ DĚLAT JEN O MÁLO VÍC NEŽ TO, ŽE PO ZAPNUTÍ, PODOBNĚ JAKO KOJENEC PO PROBUZENÍ, CHCE JÍST.

Rozhoduje-li Quality of Service (QoS) router kdy pošle který paket, je třeba ujasnit otázku dostatečně

Logická organizace paměti Josef Horálek

HP Compaq Pro 6300 SFF

Intelligent Platform Management Interface (IPMI) Pavel Slavíček

Technická specifikace ČÁST 1. Místo plnění: PČR Kriminalistický ústav Praha, Bartolomějská 10, Praha 1

Specifikace předmětu veřejné zakázky

Inovace výuky prostřednictvím ICT v SPŠ Zlín, CZ.1.07/1.5.00/ Vzdělávání v informačních a komunikačních technologií

Virtualizace na Linuxu

PRINCIPY OPERAČNÍCH SYSTÉMŮ

1. SYSTÉMOVÉ POŽADAVKY / DOPORUČENÁ KONFIGURACE HW A SW Databázový server Webový server Stanice pro servisní modul...

Základní deska (mainboard, motherboard)

) informace o stavu řízené veličiny (předávaná řídícímu systému) - nahrazování člověka při řízení Příklad řízení CNC obráběcího stroje

INFORMAČNÍ A KOMUNIKAČNÍ TECHNOLOGIE

Příručka k programu Computer Setup (F10) modely dc5700

Principy operačních systémů. Lekce 1: Úvod

MS WINDOWS II. Jádro. Správa objektů. Správa procesů. Zabezpečení. Správa paměti

Pokročilé architektury počítačů

Příloha č. 1 k výzvě k podání nabídek

Zálohovací zařízení pro repozitář jazykových dat a digitálního materiálu pro jazykový výzkum

vjj 1. Priority. Dispatcher

pouˇzití USB nebo SPI

Určení real-time odezvy OS Microsoft Windows CE

VÝZVA K PODÁNÍ NABÍDKY NA VEŘEJNOU ZAKÁZKU MALÉHO ROZSAHU

Instalace OS, nastavení systému

Měřicí systémy. Obsah. Systémy složené z autonomních měřicích přístrojů a modulů Sériová rozhraní. Sériová rozhraní - pokračování 1

Struktura a architektura počítačů (BI-SAP) 9

Úvod do operačního systému Linux Mgr. Josef Horálek

Pokročilé architektury počítačů

I n f o r m a t i k a a v ý p o č e t n í t e c h n i k a. Operační systém

Komunikace mikroprocesoru s okolím Josef Horálek

TG Motion verze 4 Hardware návod k obsluze

Architektura sběrnic PCI, PCI-X a PCI Express. Tomáš Martínek martinto@fit.vutbr.cz

Aktivní prvky: síťové karty

Radim Dolák Gymnázium a Obchodní akademie Orlová

Systémy pro sběr a přenos dat

I/O systém Vnější paměti. PB 169 Počítačové sítě a operační systémy

Maticová klávesnice. Projekt do předmětu Subsystémy PC. Brno, Tomáš Kreuzwieser, Ondřej Kožín

Transkript:

"Klidně to přeruš!" aneb pojednání o zpracovávání HW přerušení na OS Linux Petr Holášek / pholasek@redhat.com 1 of 21

Koho by měly zajímat přerušení? Administrátory Systémové inženýry Uživatele, které zajímá jak jejich OS funguje uvnitř 2 of 21

Obsah Co je to přerušení? Jak ho zpracuje kernel? Co je afinita přerušení? K čemu slouží irqbalance? 3 of 21

KERNEL 4 of 21

Přerušení HW upozorňuje CPU na nutnost obsluhy události Reprezentace v systému pomocí IRQ čísla Pin-based IRQ x MSI(-X) 5 of 21

Pin-based IRQ Vyvoláno elektrickým signálem na pinu sběrnice Pin-based IRQ může být sdílené (např. na PCI) Signál může "předběhnout" data 6 of 21

MSI (Message Signaled Interrupts) CPU obdrží přerušení po zápisu na určitou adresu Poprvé ve specifikaci PCI 2.2 Vylepšené MSI-X poprvé u PCI 3.0 Podpora více přerušení pro 1 zařízení, individuálně konfigurovatelné Použití u síťových karet (fronta paketů) nebo disků (porty) 7 of 21

Řadiče přerušení APIC (Advanced Programmable Interrupt Controller) LAPIC (local APIC) - u CPU IOAPIC (I/O APIC) - u zařízení Vzájemná komunikace po systémové sběrnici V minulosti speciální APIC sběrnice 8 of 21

IRQ domény Počet řadičů přerušení > 1 => již neplatí mapovaní intr = intr_lines[irq] kernel knihovna irq_domain udržuje mapování Linux IRQ na HW přerušení 9 of 21

Interrupt handler Rutina volaná při přijetí přerušení Je nutné vyřídit požadavek rychle Vše zdlouhavé je delegováno na později Top halves Bottom halves (tasklets, workqueues) 10 of 21

USERSPACE 11 of 21

Rozhraní jádra /proc/interrupts /proc/irq/x/ /sys/devices/.../irq 12 of 21

[pholasek@localhost ~]$ cat /proc/interrupts CPU0 CPU1 0: 38 0 IR-IO-APIC-edge timer 1: 3676 0 IR-IO-APIC-edge i8042 8: 1 0 IR-IO-APIC-edge rtc0 9: 55260 0 IR-IO-APIC-fasteoi acpi 12: 456029 0 IR-IO-APIC-edge i8042 16: 514065 0 IR-IO-APIC 16-fasteoi ehci_hcd:usb3 18: 0 0 IR-IO-APIC 18-fasteoi i801_smbus 19: 30 0 IR-IO-APIC 19-fasteoi mmc0 23: 119 0 IR-IO-APIC 23-fasteoi ehci_hcd:usb4 24: 0 0 DMAR_MSI-edge dmar0 25: 0 0 DMAR_MSI-edge dmar1 26: 460503 0 IR-PCI-MSI-edge 0000:00:1f.2 27: 1 0 IR-PCI-MSI-edge xhci_hcd 31: 0 0 IR-PCI-MSI-edge xhci_hcd 32: 27 0 IR-PCI-MSI-edge mei_me 33: 607203 118662 IR-PCI-MSI-edge i915 34: 92 0 IR-PCI-MSI-edge snd_hda_intel 35: 4763376 0 IR-PCI-MSI-edge iwlwifi 36: 8898 0 IR-PCI-MSI-edge em1 NMI: 203 440 Non-maskable interrupts PMI: 203 440 Performance monitoring interrupts RES: 330885 314209 Rescheduling interrupts CAL: 7327 1216 Function call interrupts TLB: 264756 431348 TLB shootdowns` 13 of 21

Afinita přerušení A natural liking for and understanding of someone or something: Určuje množinu procesorů přijímajících přerušení V Linuxu na více místech (cpu affinity, NUMA affinity) /proc/irq/x/smp_affinity - např. 0xf3 14 of 21

Problémy distribuce přerušení Zařízení s vysokou frekvencí přerušení (síť.karty, disky) Zahlcení CPU Výpadky cache procesoru V kernelu sofistikované řízení chybí 15 of 21

Irqbalance démon běžící na většině distribucí na základě analýz a heuristik distribuuje přerušení na procesory obvykle není třeba zásah uživatele do běhu vstupuje do hry hlavně u intenzivnějších I/O operací https://github.com/irqbalance/irqbalance 16 of 21

Algoritmus irqbalance Parsování souboru /proc/interrupts zjištění všech přerušení a vytížení jednotlivých CPU Parsování hierarchie zařízení z /sys/devices/... IRQ jsou umístěny do hierarchie Vyhodnocení přetížených procesorů Vyhodnocení nejvíce frekventovaných přerušení Na základě všech získaných údajů nastavení afinity jednotlivých IRQ sleep(10); 17 of 21

Možnosti nastavení/experimentů spustit intenzivnější síťovou/diskovou operaci irqbalance --debug + watch cat /proc/interrupts --hintpolicy - respektování afinit požadovaných ovladači --banirq <IRQ> - ignorovat určité IRQ..., izolace specifických IRQ, uživatelská pravidla, atd. 18 of 21

Vývoj irqbalance Málo vývojářů, testování i patche vítány https://github.com/irqbalance/irqbalance http://www.freelists.org/list/irqbalance 19 of 21

Zdroje Computer Architecture: A Quantitative Approach by John L. Hennessy kernel - Documentation/IRQ* man irqbalance 20 of 21

21 of 21 Děkuji za pozornost!