[linux] Pamat

Robert Varga nite na hq.alert.sk
Pondělí Červenec 30 10:23:29 CEST 2001


On Thu, Jul 26, 2001 at 04:25:01PM +0200, Juraj Bednar wrote:
> Ahoj,
> > nepoznam, a neviem ci by sa to vobec dalo. musel by nejako rozoznavat ci tych
> > 5 galeon-bin je 5 threadov toho isteho procesu, alebo napr. 2 a 3 thready
> > dvoch roznych procesov. mozno sa to ale da...
> 
> dat sa to da, riesili sme to asi pred dvoma tyzdnami na inej konfere a
> Nite navrhol spravit modul do jadra, ktory prelezie struktury jadra a
> niekam vyhodi skutocne statistiky. Lenze to je trosku sado-maso a nikomu
> sa to nechce programovat :).

Tykalo sa to non-threadov. Islo o zistenie poctu shared stranok v ramci
istej skupiny procesov. Sado-maso to az tak velmi nieje, len sa mi nechce
sprtat v jadre a hladat kombinaciu PROT_* flagov ktore oznacuju copy-on-write
(stravil som nad tym 2 hodiny a neprisiel som na nic definitivne ;-(((

Inac takto... Pokial the thready su pochadzaju z LinuxThreads, tak vo vypise
ps vo formatte tree su krasne vidiet: maju jeden master proces (zabezpecujuci
synchronizaciu) a pod nim je kopa threadov. Vsetky maju rovnaky layout VM.

> > ako som uz napisal, su to len 2 MiB. a mozno sa bindu da nejak dohovorit aby
> > tvoril menej threadov. ale nemam s nim nijake skusenosti.
> 
> inak to fakt kazdy thread ma iny PID? Ja som myslel, ze thready su
> vovnutri jedneho procesu (a teda maju spolocny PID). Ale asi som sa
> mylil :)

Evidentne ;-)))
POSIX je v tomto ohlade dost chory standard, pretoze specifikuje, ze thready
by mali vyzerat ako Solarisacke LWP (LightWeight Process).

Linux ma ale uplne skvely syscall clone(), tak naco sa namahat s dvoma setmi
PIDciek ? :-))) clone() umoznuje specifikovat, co ma byt medzi parent a child procesom
zdielane: signal handlers, VM area, filedescriptory ...

Okrem toho v Linuxe je tym padom uplne rozmazana hranica medzi fork/vfork/clone
(fork a vfork su specialne pripady clone()), rovnako ako medzi procesmi a threadmi.
Na lkml bol celkom slusny flame o tom, ze preco su LinuxThreads pomale (v porovnani
s ostatnymi architekturami, ktore implementuju posix threads). Vyslo z toho, ze posix
vymyslel thready, ktore sa napazu implentuju ako v user-space, tak aj v kernel-space ;-))

-- 
Kind regards,
Robert Varga
------------------------------------------------------------------------------
n na hq.sk                                          http://hq.sk/~nite/gpgkey.txt
 
------------- další část ---------------
Netextová příloha byla odstraněna...
Jméno: [žádný popis není k dispozici]
Typ: application/pgp-signature
Velikost: 232 bytes
Popis: [žádný popis není k dispozici]
Url : http://lists.linux.sk/pipermail/linux/attachments/20010730/a393c90e/attachment.bin 


Další informace o konferenci linux