Optymalizacja przesyłu danych 115200 baud na Windows 95 z kontrolą overrun
Re: 115200 baud, win95 i overrun
From: Grzegorz Redlarski <gred_at_nospam_kki.net.pl>
Subject: Re: 115200 baud, win95 i overrun
Date: Fri, 01 Jun 2001 03:10:52 +0200
31 May 2001 14:22:33 GMT jfox_at_nospam_friko6.onet.pl (J.F.) napisal:
No - tyle nadchodzi bajtow na sekunde. Ale nie po to masz 16550A, zeby
przerwanie bylo co kazdy bajt zglaszane ..
Ale jest rowniez po to by nie gubic bajtow gdy cos na dlugo
przyblokuje przerwania. No wlasnie, jakiego mozna sie spodziewac
najdluzszego zablokowania przerwan przez timer, dyski itd. ?
To by sie trzeba bylo w klubie SDI pytac - oni tam maja pelna predkosc
na okraglo. Raczej sobie winda radzi ..
Winda sobie radzi albo i nie. Moze program protokolem poprawia? W
sumie to sypie mi sie tak mniej wiecej 0.1 - 1 % ramek ale sa one dosc
duze. Gdyby dac mniejsze to pewnie grubo ponizej promila trzeba by
retransmitowac. Niemniej, wspomniany wczesniej program "Terminal"
jakos sie nie sypie. Tzn., jak sie postarac to tez cos zgubi (np.
podczas zamykania StarOffice) ale tu podejrzewam o to zbyt maly bufor
programowy.
gr
From: jfox_at_nospam_friko6.onet.pl (J.F.)
Subject: Re: 115200 baud, win95 i overrun
Date: Sun, 03 Jun 2001 18:26:12 GMT
On Fri, 01 Jun 2001 03:10:52 +0200, Grzegorz Redlarski wrote:
31 May 2001 14:22:33 GMT jfox_at_nospam_friko6.onet.pl (J.F.) napisal:
No - tyle nadchodzi bajtow na sekunde. Ale nie po to masz 16550A, zeby
przerwanie bylo co kazdy bajt zglaszane ..
Ale jest rowniez po to by nie gubic bajtow gdy cos na dlugo
przyblokuje przerwania. No wlasnie, jakiego mozna sie spodziewac
najdluzszego zablokowania przerwan przez timer, dyski itd. ?
Dlugiego. Glupia transmisja 512B do dysku, nawet przy 33MB/s
chwile trwa. A transmisja zwykle nastepuje w obsludze przerwania od
dysku. A standardem sa przeciez transmisje wielu sektorow naraz,
te 33MB/s to czesto teoria.
W kazdym badz razie linux przy wylaczeniu przerwan w obsludze dyskow
solidnie gubi pakiety SDI.
Ale mozna wlaczyc, mozna obecnie skorzystac z DMA ...
J.
From: gr<gred_at_nospam_kki.net.pl>
Subject: Re: 115200 baud, win95 i overrun
Date: Tue, 05 Jun 2001 01:13:50 +0200
Sun, 03 Jun 2001 18:26:12 GMT jfox_at_nospam_friko6.onet.pl (J.F.) napisal:
On Fri, 01 Jun 2001 03:10:52 +0200, Grzegorz Redlarski wrote:
31 May 2001 14:22:33 GMT jfox_at_nospam_friko6.onet.pl (J.F.) napisal:
No - tyle nadchodzi bajtow na sekunde. Ale nie po to masz 16550A, zeby
przerwanie bylo co kazdy bajt zglaszane ..
Ale jest rowniez po to by nie gubic bajtow gdy cos na dlugo
przyblokuje przerwania. No wlasnie, jakiego mozna sie spodziewac
najdluzszego zablokowania przerwan przez timer, dyski itd. ?
Dlugiego. Glupia transmisja 512B do dysku, nawet przy 33MB/s
chwile trwa. A transmisja zwykle nastepuje w obsludze przerwania od
dysku. A standardem sa przeciez transmisje wielu sektorow naraz,
te 33MB/s to czesto teoria.
Okazalo sie, ze to nie dysk a grafika. Trudno mi jednak dokladnie
okreslic gdzie konkretnie tkwil bug. Zapewne jednak to driver'y
Matroxa tak skutecznie blokowaly przerwania. Sytuacja wygladala
nastepujaco:
- Program bez biezacej obslugi grafiki (rysowania przebiegu) pracowal
bez zaciec, potrafil tez dosc dlugo chodzic gdy pracowal w tle lub
czesciowo w tle (tylko fragment okienka byl widoczny).
- Inne programy rysujace grafike (probowalem ogladac i przeskalowywac
duze jpg-i w Netscape i IrfanView) mu nie przeszkadzaly.
- Prosta grafika w rownolegle chodzacym innym programie, zrealizowana
w ten sam sposob jak w tym, o którym mowa, tez powodowala overrun
UART-a.
- Intensywna praca dysku (kompresja lub dosowe XCOPY kilkuset MB
danych) w niczym nie przeszkadza (przy XCOPY grafika dostaje lekkiej
czkawki ale to zrozumiale - XCOPY przywlaszcza sobie sporo mocy
procesora, jeszcze lepsza czkawka jest przy kasowaniu tego do kosza).
No i najwazniejsze:
- Po zainstalowaniu najnowszych driverow do Matroxa (Millenium2), czas
pracy UART-a bez bledu overrun wydluzyl sie chyba o 2 rzedy wielkosci
- z pojedynczych sekund do minut. Po wyłączeniu "akceleracji
sprzętowej" w "wydajności grafiki" w "właściwościach systemu"
komunikacja chyba już wcale się nie sypie (program chodzil ponad
godzine).
W kazdym badz razie linux przy wylaczeniu przerwan w obsludze dyskow
solidnie gubi pakiety SDI.
Ale mozna wlaczyc, mozna obecnie skorzystac z DMA ...
BTW, szkoda, ze w pecetowym UART-cie nie mozna skorzystac z DMA :-(
gr
From: jfox_at_nospam_friko6.onet.pl (J.F.)
Subject: Re: 115200 baud, win95 i overrun
Date: 5 Jun 2001 15:49:54 GMT
On Tue, 05 Jun 2001 01:13:50 +0200, gr <gred_at_nospam_kki.net.pl> wrote:
Sun, 03 Jun 2001 18:26:12 GMT jfox_at_nospam_friko6.onet.pl (J.F.) napisal:
W kazdym badz razie linux przy wylaczeniu przerwan w obsludze dyskow
solidnie gubi pakiety SDI.
Ale mozna wlaczyc, mozna obecnie skorzystac z DMA ...
BTW, szkoda, ze w pecetowym UART-cie nie mozna skorzystac z DMA :-(
Moze nie jest tak zle ... tylko trzeba kupic port szeregowy zewnetrzny
na USB ... albo uzyc zlacza IrDa [tylko ze tam formater siedzi] ?
J.