On 22 aug 2011, at 22:04, Stuart Henderson wrote:
>> But if you can give hints of how to decrease the interrupt load I am all
ears.
>> As I see it, if the interrupt handling model i OpenBSD would change to a
>> polling one u could maybe increase the throughput at the same processor
speed
>> (just me guessing though). But now the fact is that it is not polling. So
what
>> can I do with what we have....
>
> polling is one mechanism to ensure you aren't handling interrupts all the
> time, so you can ensure userland remains responsive even when the machine
is
> under heavy network load. OpenBSD has another way to handle this, MCLGETI.


 With polling if I get it right the context switch overhead is mostly avoided
because the system can choose to look at the device when it is already in the
right context. The drawback could be increased latency in processsing events
in a polling model. But according to what I have read, the latency is reduced
to a very low low values by raising the clock interrupt frequency. They say
polling is better  from a OS "time spent on device" control perspective. Note
that I am not a pro in this area, but will for sure look deeper...

MCLGETI ?? Is it in if_em.c if I want to see how it is implemented?

>
>> Is pure cpu speed the only way? Or is it possible to decrease the
interrupt
>> load with even better NIC:s?
>
> here are some things that might help:
>
> - faster cpu
> - larger cpu cache
> - faster ram
> - reduce overheads (things like switching VM context while handling
> packets is not going to help matters)
> - improving code efficiency
>
> have you tried -current?
>



I tried to share and use the same interrupt for my network ports as I have a
guess it could be a boost, but the bios did not want what I wanted....
Interrupts could be shared, but not between the ports I wanted. I simple did
not understand the interrupt allocation scheme in my Dell T410 tower server.

Have not tried current, but will try current as soon as I can. Also... I will
try to do some laborations with CPU speed of the core the OpenBSD virtual
machine has. This to see how the interrupts and throughput is related to the
CPU speed of the allocated core.


Tnx

/Per-Olov


GPG keyID: 5231C0C4
GPG fingerprint: B232 3E1A F5AB 5E10 7561 6739 766E D29D 5231 C0C4
GPG key:
http://wwwkeys.eu.pgp.net/pks/lookup?op=get&search=0x766ED29D5231C0C4

Reply via email to