NLS/strerror efficiency
Kostik Belousov
kostikbel at gmail.com
Tue Jan 19 21:20:26 UTC 2010
Hi,
r189765 enabled NLS support for libc. Now, any strerror(3) call causes
4 (!) failing stat(2) calls. I think this is untolerable.
Catopen() does not cache the catalog descriptor, at least for libc,
at least for the case where the open failed.
On the active web server, these msgcat activities easily become
dominant in the CPU time of the web server process.
1715 nginx CALL open(0x804004bc0,O_RDONLY,<unused>0)
1715 nginx NAMI "/usr/home/guests/xenos/var/rvs/docroot/1/l/101/6/g"
1715 nginx RET open -1 errno 2 No such file or directory
1715 nginx CALL stat(0x7fffffffd9b0,0x7fffffffd930)
1715 nginx NAMI "/usr/share/nls/C/libc.cat"
1715 nginx RET stat -1 errno 2 No such file or directory
1715 nginx CALL stat(0x7fffffffd9b0,0x7fffffffd930)
1715 nginx NAMI "/usr/share/nls/libc/C"
1715 nginx RET stat -1 errno 2 No such file or directory
1715 nginx CALL stat(0x7fffffffd9b0,0x7fffffffd930)
1715 nginx NAMI "/usr/local/share/nls/C/libc.cat"
1715 nginx RET stat -1 errno 2 No such file or directory
1715 nginx CALL stat(0x7fffffffd9b0,0x7fffffffd930)
1715 nginx NAMI "/usr/local/share/nls/libc/C"
1715 nginx RET stat -1 errno 2 No such file or directory
1715 nginx CALL write(0x46,0x7fffffffdec0,0x109)
1715 nginx GIO fd 70 wrote 265 bytes
"2010/01/19 14:41:09 [error] 1715#0: *40673092 open() "/usr/home/guests\
/xenos/var/rvs/docroot/1/l/101/6/g" failed (2: No such file or directo\
ry), client: YYY.YYY.YYY.YYY, server: do.not.say.this, reque\
st: "GET /1/l/101/6/g HTTP/1.1", host: "XXX.XXX.XXX.XXX"
-------------- next part --------------
A non-text attachment was scrubbed...
Name: not available
Type: application/pgp-signature
Size: 196 bytes
Desc: not available
Url : http://lists.freebsd.org/pipermail/freebsd-current/attachments/20100119/df1120f6/attachment.pgp
More information about the freebsd-current
mailing list