PILC doesn't really help in all cases.
E.g. hight bandwidth * long delay does produce its own problems.
To achieve maximum performance from a tcp-stream, you need to have
the amount of unacknowledge in-flight data matching that "delay-band-
width product". In Linux, the setsockopt() SO_SNDBUF parameter
must be TWICE that value. Oh, and at the receiving side the
SO_RCVBUF parameter must have matching value.
System-wide default values are at /proc/sys/net/core/*mem_*
See explanations at "man 7 socket". (In cases where application
does NOT set their own values, *mem_default are used, and in
all cases, *mem_max clamp the upper limit.)
If you are pushing some half-duplex application traffic over this
kind of link where latency is longish, no amount of kernel tuning
can help you. Example of such application protocol is SMTP.
There is PIPELINING mode, which helps by turning SMTP into a semi-
duplex with full syncronization stops only at DATA or BDAT verbs.
However not all MTAs claiming PIPELINING capability in their EHLO-
responses implement it themselves in SMTP client code.
Most notable of those is qmail.
> Andrew
/Matti Aarnio
-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@vger.kernel.org
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/