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

Raspunde prin e-mail lui