On Tue, 17 Jan 2006, Tarhon-Onu Victor wrote:
pornesti un ghiavol numit irqbalance care se ocupa el de facut
calculele si impartit irq-urile pe cpu-uri astfel incit sa fie cit mai
egal distribuite.
Sau, daca vrei sa faci asta ad-labam, vezi
/proc/irq/irqNum/snmp_affinity si apoi citeste
/usr/src/linux-VersiuneaTa/Documentation/IRQ-affinity.txt, iti spune
acolo despre masca de biti prin care poti distribui o intrerupere pe o
multime formata din m CPU-uri (dintr-un total de n, m e din [1, n]).
calcule matematice pe multi biti, multe si complicate, etc etc).
Pentru tot felul de trasnai pe care i le poti spune lui gcc
pentru a optimiza cod... man gcc. Daca ai un distro rpm based atunci in
.rpmrc-ul din home-ul userului cu care builduiesti rpm-uri poti scrie
ceva de genul:
optflags: athlon -O2 -g -march=athlon -m3dnow -fomit-frame-pointer -fforce-addr
-fforce-mem -maccumulate-outgoing-args -finline-limit=2048
optflags: i686 -O2 -g -march=pentium4 -msse2 -mfpmath=sse -fomit-frame-pointer
-fforce-addr -fforce-mem -maccumulate-outgoing-args -finline-limit=2048
optflags: x86_64 -O2 -g -march=athlon64 -m3dnow -mfpmath=sse
-m128bit-long-double -fomit-frame-pointer -fforce-addr -fforce-mem
-maccumulate-outgoing-args -finline-limit=2048
Ma rog, asa ar arata scrise in .rpmrc, daca folosesti alt sistem
de pachete sau pur si simplu le compilezi ad-minam atunci arunca
optiunile cu pricina intr-un CFLAGS si respectiv CXXFLAGS (in env sau
makefile-uri).
In functie de nevoile matale poti sa mai arunci si o privire pe
la kernel preempt, disk io schedullers (deadline, cfq, anticipatory) si
sa vezi care ti s-ar potrivi.
--
Any views or opinions presented within this e-mail are solely those of
the author and do not necessarily represent those of any company, unless
otherwise expressly stated.
_______________________________________________
RLUG mailing list
[email protected]
http://lists.lug.ro/mailman/listinfo/rlug