[OSy] TLB Invalid exception pri pristupe na zasobnik

Milan Burda milan.burda at gmail.com
Sat Jan 19 21:32:34 CET 2008


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





More information about the NSWI004 mailing list