[so2] [Tema2][Lin] problema ciudata in teste

Ionuţ-Ciprian BALIGI ionut.baligi at cti.pub.ro
Fri Aug 30 21:43:23 EEST 2013


Salut,

Si eu am o problema similara. Cumva se modifica datele citite/scrise. Pentru debugare, m-am bagat in programul de testare, si am  modificat continutul fisierului de input (din random in cararcterul a repetat de size ori). Dupa aceea mie imi apare testul respectiv ca passed. Care ar putea fi problema? Clar eu trimit toate caracterele.

Multumesc,
Ciprian

-----Original Message-----
From: so2-bounces at cursuri.cs.pub.ro [mailto:so2-bounces at cursuri.cs.pub.ro] On Behalf Of Razvan Deaconescu
Sent: Sunday, August 18, 2013 18:37
To: Sisteme de Operare 2
Subject: Re: [so2] [Tema2][Lin] problema ciudata in teste

Vlad Badoiu <vladbadoiu at gmail.com> writes:
> Am reusit sa fac sa nu se mai blocheze driverul meu de uart in teste. 
> Problema e ca la foarte multe din sub-testele de citire/scriere 
> propriu zise (cele 5 din cadrul testelor (3-9)) imi da failed. Nu si 
> la testul 8, unde totul e passed.  In debuguri imi apare ca a 
> citit/scris toti octetii, deci ma gandesc ca am reusit cumva sa corup 
> continutul citit dar nu inteleg cum. La toate sub- testele de ioctl 
> imi da passed. Mentionez ca folosesc kfifo si waiting queues pentru 
> sincronizare.

Spui că în debug a scris și citit tot. Cum reiese asta? Cum ai contorizat? Cel mai bine este să afișezi din test ce valori a citit și să vezi unde/dacă se corupe. Trebuie să vezi următoarele:
a) Ajung datele din user space-ul sender-ului cum trebuie în rutina de write?
b) Ajung datele cum trebuie din rutina de write în rutina de tratare a întreruperii? Se scrie valoarea corectă în FIFO-ul UART?
c) Se citesc datele cum trebuie în rutina de tratare a întreruperii receiver-ului? Se citesc valorile corecte din FIFO-ul UART și se scriu în buffer-ul de read al dispozitivului?
d) Se citesc valorile corecte în user space-ul receiver-ului din buffer-ul de read din kernel, prin intermediul rutinei de read?

E ciudat că îți merge la valori mari ale vitezei și nu la viteze mici. Folosești LSR pentru a verifica dacă ai date de citit sau de scris?

Răzvan
_______________________________________________
http://ocw.cs.pub.ro/courses/so2/resurse/lista-discutii


More information about the so2 mailing list