🚀 go-pugleaf

RetroBBS NetNews Server

Inspired by RockSolid Light RIP Retro Guy

Article View: pl.comp.os.linux.programowanie
Article #72374

Re: Problem w sterowniku 8250 - printk pomaga, brak sekcji krytycznej

#72374
From: Krzysztof Halasa
Date: Thu, 27 Oct 2011 23:19
29 lines
2298 bytes
"elonica.pl" <bartlomiej.grzeskowiak@gmail.com> writes:

> Mam napisaną własną część sterownika 8250. Dodatkowe kości 16C550
> podłączone są przez GPIO. Problem jest taki, ze sterownik gubi mi
> część znaków przesyłanych na /dev/ttySX (pojawia sie tylko jakies
> 20%). Podczas deboggowania wyszło, ze kiedy wstawię printk na początku
> w funkcji write_byte(...). Problem znika.

A co to za scalak?
Teoretycznie jest szansa, ze samo opoznienie cos powoduje (np.
w przypadku wadliwych operacji I/O), ale bardziej prawdopodobne jest, ze
udelay() tworzy bariery, ktore zapobiegaja "wyoptymalizowaniu" rzekomo
zbednego kodu, albo np. zmianie kolejnosci kodu. Domyslam sie ze
SoCreg() to jakis *(volatile *)... co to za kompilator? Przyjrzalbym sie
wersji assemblerowej w obu przypadkach. Np. gcc 2.6.x jest znany z tego,
ze potrafi wyoptymalizowac niektore rzeczy tak, jakby nie byly volatile.

> Próbowałem już kilkanaście razy zmieniać delaye, ale nic. Jedyne co mi
> jeszcze przychodzi do głowy to fakt, ze funkcje read i write nie sa
> sekcjami krytycznymi. Czy to dobry trop ?

Mam delikatne wrazenie, ze driver 8250 wykonuje tylko jedna operacje
w danej chwili (sam uzywa spinlocka), co by sugerowalo, ze te funkcje
nie musza byc "atomic". Ale oczywiscie tak jest tylko pod warunkiem, ze
zaden inny kod (np. inny driver) ich nie uzywa.

Plik .s (a wlasciwie dwa pliki) powinny rozjasnic sprawe.
-- 
Krzysztof Halasa
Technical Details
Message-ID: <m3vcra3tw0.fsf@intrepid.localdomain>
Path: mbox-mo1.pugleaf.net!news-archive.icm.edu.pl!news.icm.edu.pl!news.nask.pl!news.nask.org.pl!not-for-mail
References: <0c34e073-bf61-43b8-820d-e5d1634b743f@r2g2000vbj.googlegroups.com>

Show Full Headers
Complete Article Headers
Path: mbox-mo1.pugleaf.net!news-archive.icm.edu.pl!news.icm.edu.pl!news.nask.pl!news.nask.org.pl!not-for-mail
From: Krzysztof Halasa <khc@pm.waw.pl>
Newsgroups: pl.comp.os.linux.programowanie
Subject: Re: Problem w sterowniku 8250 - printk pomaga, brak sekcji krytycznej
Date: Fri, 28 Oct 2011 01:19:11 +0200
Organization: NASK - www.nask.pl
Lines: 29
Message-ID: <m3vcra3tw0.fsf@intrepid.localdomain>
References: <0c34e073-bf61-43b8-820d-e5d1634b743f@r2g2000vbj.googlegroups.com>
NNTP-Posting-Host: nat.piap.pl
Mime-Version: 1.0
X-Trace: pippin.nask.net.pl 1319757555 5363 195.187.100.13 (27 Oct 2011 23:19:15 GMT)
X-Complaints-To: abuse ATSIGN nask.pl
NNTP-Posting-Date: Thu, 27 Oct 2011 23:19:15 +0000 (UTC)
Cancel-Lock: sha1:cvo3R8Ye7Pzg93pDXXqY2sueZes=
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit