[pso] [Tema2][Linux] /proc/interrupts

Macicas Teodor teodor.macicas at cti.pub.ro
Mon Apr 12 17:23:44 EEST 2010


Salut,

Am dat si eu peste aceiasi problema. Se pare ca solutia propusa de tine 
(mutarea activarii intreruperilor) a functionat si la mine.
Cum se explica ca dupa acea mutare totul merge bine ?

Multumesc.

Andrei Trandafir wrote:
> In momentul de fata, ordinea e asa:
> - request_region
> - request_irq
> - register_chrdev_region
>
> M-am uitat acum din nou. Inregistrarile acelea goale din /proc/interrupts tot exista, insa acum testerul ruleaza corect si complet (tema trece toate testele, indiferent de cate ori o rulez). Ce am facut practic fata de momentul initial in care testerul bloca sistemul a fost sa mut activarea intreruperilor UART: initial aceasta se facea o singura data, imediat dupa request_irq, iar acum se face la fiecare apel "open".
>
>
> --- On Sat, 4/10/10, Razvan Deaconescu <razvan.deaconescu at cs.pub.ro> wrote:
>
>   
>> From: Razvan Deaconescu <razvan.deaconescu at cs.pub.ro>
>> Subject: Re: [pso] [Tema2][Linux] /proc/interrupts
>> To: "Proiectarea Sistemelor de Operare" <pso at cursuri.cs.pub.ro>
>> Date: Saturday, April 10, 2010, 6:39 AM
>> On Sat, 2010-04-10 at 05:57 -0700,
>> Andrei Trandafir wrote:
>>     
>>> Ok..."Registre"...mea culpa :)
>>>
>>> Eu am gandit ordinea curenta pe urmatoarea idee: daca
>>>       
>> as initializa
>>     
>>> intai device-ul si intreruperile ultimele, ar exista
>>>       
>> riscul executarii
>>     
>>> unei comenzi de open / read / write etc. (o
>>>       
>> preemptare) inainte ca
>>     
>>> handler-ul meu de interupere sa fie si el instalat. Pe
>>>       
>> cand asa, nu ma
>>     
>>> deranjeaza daca se genereaza vreo intrerupere la
>>>       
>> inceput, insa stiu
>>     
>>> sigur ca atunci cand cineva face read / write,
>>>       
>> handler-ul este
>>     
>>> disponibil si functioneaza.
>>>       
>> De acord. Din acest motiv operatia cdev_add ar trebui
>> executata la
>> sfarsit. In mod obisnuit, insa, vei apela request_irq dupa
>> request_region si dupa register_chrdev_region? Daca apelezi
>> spre sfarsit
>> cdev_add (dupa request_irq si dupa initializarea
>> registrelor) se
>> intampla problema mentionata de tine?
>>
>> Razvan
>>
>> _______________________________________________
>> pso mailing list
>> pso at cursuri.cs.pub.ro
>> http://cursuri.cs.pub.ro/cgi-bin/mailman/listinfo/pso
>>
>>     
>
>
>
> _______________________________________________
> pso mailing list
> pso at cursuri.cs.pub.ro
> http://cursuri.cs.pub.ro/cgi-bin/mailman/listinfo/pso
>   


-- 
Teodor MACICAS






More information about the pso mailing list