Roman Divacky napsal/wrote, On 02/11/08 18:58:
> dane, proboha.. ja vim ze ti to tvoje grafomanie nedovoluje ale kdyz necemu
> nerozumis tak se k tomu nevyjadruj
> 
> 1) ten copyin/copyout tam je samozrejme proto, protoze userland nam muze dat
> libovolnou adresu a kdyby nastal nejaky fault tak jde kernel do hajzlu
> (tj. kdyby tam nekdo poslal NULL a my bysme udelali *ptr = 1 tak panicujeme)
> ten copyin/copyout ma remapovany fault handler na "return EFAULT"

        Na to by stacilo platnost adresy zkontrolovat. Kopirovani by treba 
nebylo.


> 2) dane, uvedom si ze se bavime o kopirovani 8 bajtu... (16 ti na 64bit 
> platformach)
> to nema jiny efekt nez poniceni cache

        Do tech osmi bajtu se tak jako tak tesne pred tim sahalo - kdyz se ta 
struktura vyplnovala. Takze, i kdybych pristoupil na tvoje tvrzeni, ze 
pouzivani cache k tomu, k cemu je urcena, je jeji niceni - tak uz je 
stejen znicena.

> 3) userspace stranky se do kernelu samozrejme mapovat DAJI, zrovna ten 
> sendfile
> to pouziva (man sf_buf) a mimochodem tohle je DALEKO rychlejsi na amd64 nez 
> na i386.

        Ja myslim, ze Radimova otazka byla jasna - ptal se, proc se to 
kopiruje. Takze kdyz tomu rozumis, a podle sebevedomeho prohlaseni 
soudim, ze ano, tak mu odpovez. Myslim, ze si to precteme radi vsichni.

        A pokud svoji znalost take vtelis do prislusneho patche (jestli to 
kopirovani je podle tebe zbytecne a tak strasne zdrzuje, tak by tam asi 
nemelo byt) tak jeste lepe.

                                                Dan
-- 
FreeBSD mailing list ([email protected])
http://www.freebsd.cz/listserv/listinfo/users-l

Odpovedet emailem