W wiadomości: d969rp$idj$1@news.onet.pl,
PAndy <pandrw@poczta.onet.pl> napisał(a):
[...]
> Ale to 3Com lojalnie uprzedza ze nie umie pisac sterownikow i karta
> moze (ale nei musi) miec problem z wspoldzieleniem - ogolnie 3Com to
> przereklamowana kicha i ostatnia dobra karta sieciowa ktora mieli to
> 3C509 ale wersja z malym scalakiem a nie duzym z napisem parallel
> tasking - ta z duzym potrafila zamrozic systemy z magistrala eisa...
Witam!
Zrobiłem małe poszukiwania aby dowiedzieć się czegoś więcej o tych
kłopotliwych przerwaniach. Współdzielenie przerwań jest częścią specyfikacji
PnP. Do tego dochodzi fakt, że wspólne przerwania wyznacza BIOS/płyta
główna.
Dla zainteresowanych zostawiam linki:
1. Ogólny opis współużytkowania przerwań IRQ w systemie Windows XP:
http://support.microsoft.com/kb/314068/pl
2. Jak wykrywane są urządzenia PCI i dlaczego czasem nie działają:
http://support.microsoft.com/kb/170922/pl
3. Preventing PCI Resource Conflicts on Intel-Based Computers:
http://support.microsoft.com/kb/148501/
4. Co ciekawe są specjalne zalecenia jeśli chodzi kontrolery SCSI i klastry
SQL:
http://msdn.microsoft.com/library/default.asp?url=/library/en-us/adminsql/ad_clustering_0qcn.asp
There is no IRQ sharing between network interface cards (NICs) and
drive/array (SCSI) controllers. Although some hardware may support this
sharing, it is not recommended.
4. Generalne zaleceni są takie:
http://www.microsoft.com/resources/documentation/Windows/XP/all/reskit/en-us/Default.asp?url=/resources/documentation/Windows/XP/all/reskit/en-us/prmd_stp_iwpy.asp
Punkt: "Check hardware resource settings"
5. Ciekawostka o karcie 3COM:
http://support.microsoft.com/default.aspx?scid=kb;en-us;259336
6. Współdzieleniem przerwań jest nawet obwiniane za problemy z wydajnością:
http://www.techspot.com/vb/all/windows/t-2292-IRQ-sharing-leads-to-bad-performance.html
7. Nie wiem jakie problemy ma 3COM z pisaniem sterowników, ale jeśli kogoś
interesują szczegóły na temat obsługi przerwań w Windows NT to jest artykuł:
http://www.windowsitpro.com/Article/ArticleID/298/298.html
Cytat:
Device drivers need a way to tell NT that they want specific functions
executed when the processor receives interrupts associated with their
devices. To satisfy this need, device drivers register an ISR with the I/O
Manager by calling the IoConnectInterrupt subroutine. The parameters passed
to IoConnectInterrupt describe all the attributes of the driver's ISR,
including its address, the interrupt the ISR connects to, and whether other
devices can share* the same interrupt.
[...]
In NT, an ISR usually does nothing more than read a minimal amount of
information from the interrupting device and acknowledge to the device that
the driver has seen the interrupt. In other operating systems, ISRs often
perform additional duties, such as fully processing an interrupt by reading
large data buffers from or writing large data buffers to a device. However,
one of NT's goals is to minimize time spent at high IRQLs, so NT postpones
most interrupt servicing until the IRQL decreases.[...]
ISR -- InterruptService routine
* --
http://msdn.microsoft.com/library/default.asp?url=/library/en-us/kmarch/hh/kmarch/k104_efa094e0-ac29-491b-803a-8470ed39c915.xml.asp
-- Pozdrawiam, Marek Janaszewski [ j_marek(małpa)gazeta(kropka)pl ] [ == USUN_TO. z adresu == ]Received on Wed Jun 22 02:20:16 2005
To archiwum zostało wygenerowane przez hypermail 2.1.8 : Wed 22 Jun 2005 - 02:42:05 MET DST