Šta je to PCI-MSI-EDGE interupt ???

4 odgovora [Poslednji unos]
dukenukem_4d
Slika korisnika dukenukem_4d
Offline
User
Član od: 02/07/2007

Šta je u stvari  pci-msi-edge programski prekid (ili od mila ih zovemo IRQ/interupts)
??? Laughing out loud :D Laughing out loud
negde sam naleteo da je to dobro i da je poželjno to koristiti od strane kernela jer je brže ???
(ne sećamse tačno gde ? gentoo wiki kod jedne slične ploče ?)

mislim da je ovdebilo.  vezano za SATA signalizaciju (ako je prikačen SATA drajv)
ali on ga koristi i za ethenet , koji je atheros u ovom slučaju Laughing out loud :D
http://www.gentoo-wiki.info/Gigabyte_GA-G33M-S2H#Bus_Settings
šta ja dobijam ovime ?

vidi se u liniji
221:     221271     700778   PCI-MSI-edge      eth1

# cat /proc/interrupts
          CPU0       CPU1
 0:         42          0   IO-APIC-edge      timer
 1:      18559          5   IO-APIC-edge      i8042
 4:          2          2   IO-APIC-edge      lirc_serial
 7:          0          0   IO-APIC-edge      parport0
 9:          0          0   IO-APIC-fasteoi   acpi
12:         33          3   IO-APIC-edge      i8042
14:     313275         13   IO-APIC-edge      ide0
15:          0          0   IO-APIC-edge      ide1
16:    1563468          1   IO-APIC-fasteoi   uhci_hcd:usb5, HDA Intel, i915@pci:0000:00:02.0
18:          0          0   IO-APIC-fasteoi   uhci_hcd:usb4
19:     982932         18   IO-APIC-fasteoi   ata_piix, uhci_hcd:usb3, eth0
20:          2          1   IO-APIC-fasteoi   ohci1394
23:          1          1   IO-APIC-fasteoi   ehci_hcd:usb1, uhci_hcd:usb2
221:     221271     700778   PCI-MSI-edge      eth1
NMI:          0          0   Non-maskable interrupts
LOC:    8452867    8452834   Local timer interrupts
RES:      35021      47282   Rescheduling interrupts
CAL:      10083        191   function call interrupts
TLB:       1949       2322   TLB shootdowns
TRM:          0          0   Thermal event interrupts
SPU:          0          0   Spurious interrupts
ERR:          0
MIS:          0

edit
evo šta kaže na gornjem linku
Quote:

Intel's SATA AHCI implementation supports message signaled interrupts. "this enables a device to generate an interrupt using an inbound Memory Write on its PCI bus instead of asserting a device IRQ pin." [Kernel 2.6.23].

???

ok kapiram izgleda da se uštedi po neka interrupt linija Afro
(npr ako je 6 sata drajvova oni neće nijedan IRQ da potroše ? ??? )

edit
mislim da se ta tehnologija koristi i za poneku gfx karticu ??? bilo ati ili nvid.
http://www.nvnews.net/vbulletin/showthread.php?t=120710&page=2

ima i ovde nešto baš za network adaptere ???
Assigning Interrupts to Processor cores
http://download.intel.com/design/network/applnots/319935.pdf

može da dođe do nekih problema ili to rešava ovakve probleme ?
IRQ Conflict - Nvidia vs AHCI
http://ubuntuforums.org/showthread.php?p=4585403

0
__________________

ADSL 1024 Slackware Srbija?Psy linux> Notorrni_modem ali se teže instalira od oootranslit ња ња

dukenukem_4d
Slika korisnika dukenukem_4d
Offline
User
Član od: 02/07/2007

http://www.screenage.de/blog/2008/06/02/my-package-of-the-day-irqbalance/

hm postoji neki irqbalance program za raspodelu irq po cpu jezgrama ???

a ovde lik ima od cpu0 do cpu8 auuuu Laughing out loud
http://www.groupsrv.com/linux/post-926370.html

[root at (no spam) testfw3 ~]# cat /proc/interrupts
CPU0 CPU1 CPU2 CPU3 CPU4 CPU5 CPU6 CPU7
0: 124666 0 0 0 0 0 0 0 IO-APIC-edge timer
1: 2 0 0 0 0 0 0 0 IO-APIC-edge i8042
3: 6 0 0 0 0 0 0 0 IO-APIC-edge serial
8: 1 0 0 0 0 0 0 0 IO-APIC-edge rtc0
9: 0 0 0 0 0 0 0 0 IO-APIC-fasteoi acpi
12: 4 0 0 0 0 0 0 0 IO-APIC-edge i8042
16: 5119 0 0 0 0 0 0 0 IO-APIC-fasteoi ioc0
17: 291 0 0 0 0 0 0 0 IO-APIC-fasteoi uhci_hcd:usb1
18: 0 0 0 0 0 0 0 0 IO-APIC-fasteoi uhci_hcd:usb2
19: 24 0 0 0 0 0 0 0 IO-APIC-fasteoi ehci_hcd:usb5
20: 0 0 0 0 0 0 0 0 IO-APIC-fasteoi uhci_hcd:usb4
21: 42 0 0 0 0 0 0 0 IO-APIC-fasteoi uhci_hcd:usb3, ehci_hcd:usb6
23: 94 0 0 0 0 0 0 0 IO-APIC-fasteoi ata_piix
56: 0 0 0 0 0 0 0 0 PCI-MSI-edge aerdrv
57: 0 0 0 0 0 0 0 0 PCI-MSI-edge aerdrv
58: 0 0 0 0 0 0 0 0 PCI-MSI-edge aerdrv
59: 0 0 0 0 0 0 0 0 PCI-MSI-edge aerdrv
65: 3263 0 0 0 0 0 0 0 PCI-MSI-edge eth4
75: 404 0 0 0 0 0 0 0 PCI-MSI-edge eth5
85: 1276 0 0 0 0 0 0 0 PCI-MSI-edge eth6
95: 826 0 0 0 0 0 0 0 PCI-MSI-edge eth7
NMI: 0 0 0 0 0 0 0 0 Non-maskable interrupts
LOC: 6095 62050 47672 5995 5593 23057 9556 24939 Local timer interrupts
SPU: 0 0 0 0 0 0 0 0 Spurious interrupts
PMI: 0 0 0 0 0 0 0 0 Performance monitoring interrupts
PND: 0 0 0 0 0 0 0 0 Performance pending work
RES: 40 56 117 43 47 115 321 322 Rescheduling interrupts
CAL: 36 60 62 59 52 58 57 46 Function call interrupts
TLB: 20 15 7 41 135 47 126 61 TLB shootdowns
TRM: 0 0 0 0 0 0 0 0 Thermal event interrupts
THR: 0 0 0 0 0 0 0 0 Threshold APIC interrupts
MCE: 0 0 0 0 0 0 0 0 Machine check exceptions
MCP: 3 3 3 3 3 3 3 3 Machine check polls

i ovde neki problemi sa 2.6.31
http://forum.nginx.org/read.php?30,53144
http://osdir.com/ml/users/2010-02/msg03586.html

__________________

ADSL 1024 Slackware Srbija?Psy linux> Notorrni_modem ali se teže instalira od oootranslit ња ња

zokypoky
Slika korisnika zokypoky
Offline
User
Član od: 06/05/2009

@dukenukem_4d
Programiranjem u Assembleru se ne bavim skoro 25 godina. Nekada davno na Sinclair ZX Spectrum 48K, sa Z80 procesorom, sam programirao u Assembleru. Nakon toga sam još jednom `92. posegao za njim, napisavši TO852 programče, koje je koristilo IRQ5, čini mi se, za štapmpanje preko BIOS-a.

MS DOS je koristio IRQ5 liniju x86 procesora za slanje karaktera na LPT port. U prvih nekoliko kilobajta adresnog prostora CPU postojala je tabela vektora, odnosno tabela adresa na kojima se dotični IRQ zahtevi obrađuju. Ja sam u toj tabeli podmetnuo adersu svog programa, pa je sva štampa išla preko mog programa, gde su se YUASCII znakovi menjali sa znakovima iz 852 kodne strane. Moj program je bio TSR, odnosno bio je rezidentni i eto primera za upotrebu IRQ.

Naravno pojavom 32-bitnih OS potražnja za IRQ linijama je porasla, pa su počeli da ih multipleksiraju, odnosno da ih dele između više programa i uređaja. U svetu mikrokontrolera se IRQ linije uglavnom koriste za nasilno preusmeravanje rada procesora na programski kod za servis događaja koji je izazvao IRQ prekid. Ovo se uglavnom sve odvija na veoma niskom nivou i IRQ linije imaju najviši prioritet izvršavanja, recimo koriste ih hard diskovi, serijski i LPT portovi i td.

S obzirom da grafička kartica ima svoj CPU, odnosno GPU, onda se sinhronizacija sa glavnim CPU-ima uglavnom rešava pomoću IRQ linija, što je predmet tvog interesovanja. Na ovaj način se ostvaruje "handshaking" između dva procesora. To znači da svako od njih može raditi svoj posao, a kada jedan od njih nešto završi on to ovim putem saopšti onom drugom.

dukenukem_4d
Slika korisnika dukenukem_4d
Offline
User
Član od: 02/07/2007

da da kapiram za IRQ Afro Laughing out loud
ali ovaj konkretan novi tip msi_edge je malo drugačiji izgleda da ne blokira neku liniju ???
(odnosno nije shared - njegova brojka je 'way out' visoka Laughing out loud )

njih je bilo 16 tako beše ?
pa su onda uveli apic , lapic i 'acpi irq steering' gde je išlo i više od 20 linija odvojenih u biosu ???

a ovo je u stvari za pci-express kartice/linije runtime opcija? taj msi_edge
The MSI Driver Guide HOWTO -  What is MSI/MSI-X? (Copyright 2003 Intel Corporation )
http://lwn.net/Articles/44139/

dok irq balance kaže d anema neka poboljšanja na dual core , tek od quad-a ???
http://www.screenage.de/blog/2008/06/02/my-package-of-the-day-irqbalance/
http://www.irqbalance.org/
onaj gentoo link
Quote:

Disable IRQ balancing, which provides no performance benefit for low SMP (ie: dualcore) systems: acpi_irq_balance=0

__________________

ADSL 1024 Slackware Srbija?Psy linux> Notorrni_modem ali se teže instalira od oootranslit ња ња

dukenukem_4d
Slika korisnika dukenukem_4d
Offline
User
Član od: 02/07/2007

Ako se ovi prekidi ne pojave u cat /proc/interrupts
a sigurni ste da je donekle podrzano od hardvera

stavite u grub kao parametar

pci=msi

i onda ce biti omoguceno , globalno

a ako postoje problemi onda se onemoguci

pci=nomsi

http://www.linuxquestions.org/questions/linux-software-2/enabling-the-pc...

cesto se javi neki prob. Steve

__________________

ADSL 1024 Slackware Srbija?Psy linux> Notorrni_modem ali se teže instalira od oootranslit ња ња