8.2 + apache == a LOT of sigprocmask
Kostik Belousov
kostikbel at gmail.com
Tue Nov 15 09:20:15 UTC 2011
On Mon, Nov 14, 2011 at 12:51:35PM -0800, Doug Barton wrote:
> On 11/14/2011 12:31, Doug Barton wrote:
> > Trying to track down a load problem we're seeing on 8.2-RELEASE-p4 i386
> > in a busy web hosting environment I came across the following post:
> >
> > http://lists.freebsd.org/pipermail/freebsd-questions/2011-October/234520.html
> >
> > That basically describes what we're seeing as well, including the
> > "doesn't happen on Linux" part.
> >
> > Does anyone have any ideas about this?
> >
> > With incredibly similar stuff running on 7.x we didn't see this problem,
> > so it seems to be something new in 8.
>
> Just took a closer look at our ktrace, and actually our pattern is
> slightly different than the one in that post. In ours the second option
> is null, but the third is set:
>
> 74195 httpd 0.000017 RET sigprocmask 0
> 74195 httpd 0.000013 CALL sigprocmask(SIG_BLOCK,0,0xbfbf89d4)
> 74195 httpd 0.000009 RET sigprocmask 0
> 74195 httpd 0.000013 CALL sigprocmask(SIG_BLOCK,0,0xbfbf89d4)
> 74195 httpd 0.000009 RET sigprocmask 0
> 74195 httpd 0.000012 CALL sigprocmask(SIG_BLOCK,0,0xbfbf89d4)
>
> But repeated hundreds of times in a row.
The calls cannot come from rtld, they are generated by some setjmp()
invocation. If signal-safety is not needed, sigsetjmp() should be used
instead.
Quick grep of the apache httpd source shows a single setjmp() in their
copy of pcre. No idea is it to safe to change setjmp() into sigsetjmp(?, 0).
-------------- 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-stable/attachments/20111115/9f15bfa6/attachment.pgp
More information about the freebsd-stable
mailing list