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>
