PCI (AGP) a IRQ, jak nastavit?

Martin `MJ' Mares mj na ucw.cz
Pondělí Leden 31 10:23:27 CET 2000


Zdravim,

> To jsem z toho cely zmateny. To by nam pak stacilo jedno IRQ, ne?

   Ano, stacilo. :)

   A podivejme se, jaky vliv to ma na vykon systemu (predpokladam dve
karty generujici urovni aktivovany interrupt pri pritomnosti dat
ve vstupnim bufferu):

	Modelovy pripad bez sdileni interruptu:

		IRQ1:	if (card1->status & DATA_READY)
				fetch_data(card1);

		IRQ2:	if (card2->status & DATA_READY)
				fetch_data(card2);

	Se sdilenim to bude vypadat takto:

		IRQ:	if (card1->status & DATA_READY)
				fetch_data(card1);
			if (card2->status & DATA_READY)
				fetch_data(card2);

   Pri male cetnosti interruptu nebo pokud bude jeden interrupt vyvolavan
podstatne casteji nez druhy, je sdileny pripad pomalejsi o zbytecny test,
zda prisla data take z druhe karty, ktery ovsem pro dve karty je vzhledem
k celkove rezii vyvolani interruptu zanedbatelny.

   Vyskytuji-li se interrupty od obou karet dostatecne (a priblizne stejne)
casto, zacne se casto dit, ze behem jednoho volani sdileneho IRQ handleru
obslouzime _obe_ karty, cimz jsme usetrili jedno volani IRQ. Paradoxne tedy
je pri velkem zatizeni reseni se sdilenim IRQ vyhodnejsi.

   Pri vetsim poctu karet sdilejicich jedno IRQ zacne byt dodatecne zpozdeni
znatelne a jelikoz bude pravdepodobne, ze se mezi nimi vyskytne nejake IRQ
vyvolavane jednou za dlouhou dobu, ani zvyseni propustnosti jiz asi nebude
tak velke.

				Have a nice fortnight
-- 
Martin `MJ' Mares   <mj na ucw.cz>   http://atrey.karlin.mff.cuni.cz/~mj/
Faculty of Math and Physics, Charles University, Prague, Czech Rep., Earth
"When you open WINDOWS, you let BUGS in!"


Další informace o konferenci Linux