Skip site navigation (1)Skip section navigation (2)
Date:      Thu, 29 Apr 2010 20:31:52 +0200
From:      Joerg Bruehe <joerg@mysql.com>
To:        "Greg 'groggy' Lehey" <grog@lemis.com>, FreeBSD-Questions <freebsd-questions@freebsd.org>
Subject:   Need info about FreeBSD and interrupted system calls for MySQL code
Message-ID:  <4BD9D098.8010201@mysql.com>

next in thread | raw e-mail | index | archive | help
Hi Groggy (whom I didn't contact for too long a time), everybody,


following the advice on your page, I include the FreeBSD list, even
though I'm not subscribed there (hoping it will allow me to post) -
so please, whoever replies, could you please cc: me directly?

Of course, I tried Google, but I didn't find any answers to my question.


For some long, unknown time, the MySQL code contains a variable
"net_retry_count" which is by default set to 10 (ten) for all platforms,
but to 1000000 (1 million) for FreeBSD (during configure phase).

The source code comment about this variable reads
       If a read on a communication port is interrupted, retry this
       many times before giving up.

The documentation (manual) has this sentence in addition:
       This value should be set quite high on FreeBSD because internal
       interrupts are sent to all threads.


I read that as
"On FreeBSD, a thread may receive many more interrupts than on other
platforms, so an operation which may take some time (like network I/O)
may be interrupted much more often than on other platforms, and hence
the retry count should be higher."

I trust that this comment was valid at the time it was written -
is it still true for current versions of FreeBSD, or did things change?


Thanks for all your hints,
J=F6rg

--=20
Joerg Bruehe,  MySQL Build Team,  Joerg.Bruehe@Sun.COM
               (+49 30) 417 01 487
Sun Microsystems GmbH,   Komturstrasse 18a,   D-12099 Berlin
Geschaeftsfuehrer: Juergen Kunz
Amtsgericht Muenchen: HRB161028




Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?4BD9D098.8010201>