lkml.org 
[lkml]   [2000]   [Oct]   [23]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
/
From
SubjectRe: syslog() blocks on glibc 2.1.3 with kernel 2.2.x
Date
Ricky Beam <jfbeam@bluetopia.net> writes:

> syslogd isn't the blocker. The syslog functions in glibc being
> called by named are the problem. Stop named from blocking on syslog
> writes and the world will be happy again.

So I have the glibc maintainer (and others) saying that syslog
messages should never be dropped, and you saying that named should be
dropping its syslog messages.

One more time, from the top:

named is calling syslog(), a glibc function. This function *blocks*
waiting for delivery to the local syslogd, even though it is using
SOCK_DGRAM sockets. There is no option to openlog() or syslog() to
get non-blocking behavior (the LOG_NDELAY option means something else
entirely).

You are effectively suggesting that named should be rewritten not to
use the glibc syslog functions at all. That strikes me as the worst
suggestion so far; it would be far better for syslogd not to do name
lookups. But my syslogd has no option to avoid name lookups; I will
submit a request to add one.

> I've gotta ask what kind of "load" can cause this to happen.

> And for the record, syslogd shouldn't be doing DNS lookups for
> things arriving via /dev/log -- that's always the local machine.

This particular syslogd also accepts messages from remote hosts. So
when there is a lot of syslog traffic, this syslogd talks to named a
lot. named occasionally sends messages to syslog. Since syslog
pauses waiting for named to respond to name queries, and named blocks
waiting for syslog to consume the message, a deadlock is triggered.
True, it is not a full deadlock, because the name query times out
eventually. But it is bad enough that the system becomes largely
non-responsive.

- Pat
-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@vger.kernel.org
Please read the FAQ at http://www.tux.org/lkml/

\
 
 \ /
  Last update: 2005-03-22 12:41    [W:0.094 / U:0.320 seconds]
©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site