prosba o otestovani patche na zrychlovani samby/apache

Roman Divacky rdivacky at freebsd.org
Mon Feb 11 19:27:12 CET 2008


On Mon, Feb 11, 2008 at 07:11:04PM +0100, Dan Lukes wrote:
> 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.

vis co je "fault" ? pokud ano tak mi neni jasne jak muzes nechapat to co jsem napsal.
proste mam treba segment pameti mapovany RO a userspace mi posle pro nejakou write
operaci adresu pameti v tom segmentu nebo proste neco takoveho... nevim jak jinak
to vysvetlit
 
> > 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.

acho jo....

jsme v samba_foo() v cache mame tu strukturu... pak volame syscall, ktery provede
HODNE kodu nez se to dostane do do_sendfile(), v tu dobu uz jsou v cache davno jina
data a tim ze tu strukturu musime nahrat ty data z te cache vypudime
 
> > 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.

nevim co na to odpovedet :) dane, ty mas hodne spatnej co :)

copyin/copyout je tam aby nejaky fault nepanicnul system a ten copyin tam zbytecny
neni, jen v pripade ze ta struktura obsahuje same NULL tak to nedava moc smysl.
to je asi jako bych ti dal na praci abys jel na misto A a udelal tam co ti reknou
a pak na misto B a udelal co ti tam reknou.. a kdyz ti na obou mistech reknou "nic/NULL"
a ja to predem vim tak udelam lip ze te tam neposlu ne? 




More information about the Users-l mailing list