[freetds] FreeBSD 5.0 performance problems with TCP_NOPUSH

Peter Deacon peterd at iea-software.com
Tue Mar 15 03:35:19 EST 2005


On Tue, 15 Mar 2005, ZIGLIO, Frediano, VF-IT wrote:

> I don't have FreeBSD to test with. What I did is to search on internet
> an option similar to TCP_CORK. Some mails (4 year ago!!) reported that
> newer behavior of TCP_NO_PUSH was equal to TCP_CORK. Today I tried to
> search again and I found a patch that add support for TCP_CORK even to
> FreeBSD... I don't know if this patch has been committed.

> You tested that TCP_NOPUSH under FreeBSD 5.0 do not work correctly so
> would be so kind to try with

> /* Try to use TCP_CORK on *BSD */
> #elif (defined(__FreeBSD__) || defined(__GNU_FreeBSD__) ||
> defined(__OpenBSD__)) && defined(TCP_CORK)
> #define USE_CORK 1

Hi Freddy,

That works fine on my FreeBSD 5.0 system.

FWIW here are the avaliable options from tcp.h

#define TCP_NODELAY     0x01    /* don't delay send to coalesce packets */
#if __BSD_VISIBLE
#define TCP_MAXSEG      0x02    /* set maximum segment size */
#define TCP_NOPUSH      0x04    /* don't push last block of write */
#define TCP_NOOPT       0x08    /* don't use TCP options */
#endif

Have Fun!
Peter



More information about the FreeTDS mailing list