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