[OSy] TLB Invalid exception pri pristupe na zasobnik

Tomas Mikula tomas.mikula at gmail.com
Sat Jan 19 22:00:02 CET 2008


Potom stale nevidim, ako sa tym vyhnes odalokovavaniu zasobniku, lebo
aj ten kernel mode stack, na ktorom ti bezi ten exit(), musis
odalokovat.


On 1/19/08, Milan Burda <milan.burda at gmail.com> wrote:
> nie, kazde vlakno ma svoj kernel-mode stack,
> a user-mode vlakna maju este dalsi stacky navyse.
>
> kazde musi mat svoj vlasty kernel-mode stack, lebo moze
> byt zablokovane vnutri exception handlera (inak ani nemoze,
> lebo aj pri timer interrupte je najprv prerusene vynimkou,
> a tam sa napriklad preplanuje na ine...)
>
> ten spolocny stack sa pouziva len pri TLB refill, (tak ako bolo v Kaliste)
> ktory tym ze pouziva len KSEG0 pamat, nemoze vyvolat
> dalsi TLB refill, a takisto nebude vlakno uspate vnutri
> TLB refillu (ak by bolo, tak by sa ten TLB refill nechal
> bezat na tom kernel-mode stacku)
>
> -----Original Message-----
> From: osy-bounces at dsrg.mff.cuni.cz [mailto:osy-bounces at dsrg.mff.cuni.cz] On Behalf Of Tomas Mikula
> Sent: 19. January 2008 17:19
> To: Operating Systems Course
> Subject: Re: [OSy] TLB Invalid exception pri pristupe na zasobnik
>
> Dik za odpovede,
>
> On 1/19/08, Andrej Krutak <andree182 at gmail.com> wrote:
> > ...alebo este mozes spravit taku veselu vec, ze pri vytvarani noveho
> > VMA mapovania skontrolujes stav TLB - ci tam nie su potencialne tlb
> > invalid zaznamy, ktore by sa "vyriesili" tou alokaciou (a tie
> > zmazat/opravit)
>
> to je myslim to iste, ako som popisoval:
>
> > On Saturday 19 January 2008 01:50:47 Tomas Mikula wrote:
> > >  - pri alokacii zasobniku skontrolovat, ci jeho prva alebo posledna stranka
> > >     nemaju v TLB neplatny zaznam a ked tak ho updatovat;
>
>
>
> On 1/19/08, Milan Burda <milan.burda at gmail.com> wrote:
> > z toho co sa tu riesi som to pochopil tak, ze tvoj user-mode thread ma
> > len 1 stack, na ktorom potom bezi aj exception handler
> >
> > taketo riesenie sa mi nezda vobec rozumne, ovela lepsie je mat
> > 2 stacky, jeden pre kernel-mode a druhy pre user-mode, pri vstupe do
> > exception handlera prepnut na kernel-mode stack a pri navrate naspat
> > na user-mode stack.
> >
> > potom nieco taketo ani nemoze nastat a nemusia sa riesit podobne
> > pochybne triky. co ked je to napriklad syscall exception - exit(),
> > ktory ukonci aktualny proces? dealokuje sa mapa virtualnej pamate s
> > nou si po sebou zabijes stack na ktorom ti to prave bezi...
>
> Takze ten kernel mode stack mas spolocny pre vsetky vlakna a neodalokovavas ho??
>
> _______________________________________________
> OSy mailing list
> OSy at dsrg.mff.cuni.cz
> https://dsrg.mff.cuni.cz/mailman/listinfo/osy
>
>
> _______________________________________________
> OSy mailing list
> OSy at dsrg.mff.cuni.cz
> https://dsrg.mff.cuni.cz/mailman/listinfo/osy
>




More information about the NSWI004 mailing list