Re: [patch rfc] towards supporting O_NONBLOCK on regular files

From: Ingo Molnar
Date: Sun Oct 17 2004 - 06:23:16 EST



On Sun, 17 Oct 2004, Alexandre Oliva wrote:

> The reason Squid breaks is that poll (or is it select? I forget) says
> there's data to be read from cache files (as well as from error message
> files read during start up), but then read fails with -EAGAIN. If I
> bring the error files into memory with cat /etc/squid/errors/ERR*, then
> squid will successfully start up, and then, in order for it to not eat
> all the available CPU polling data files and attempting to read from
> them, I need to start a command line this:

the problem is that upon read() we dont 'kick' any IO if there's no data
available. I.e. the readahead-kicking is necessary after all, because
squid apparently assumes that re-trying a read will eventually succeed.
(Tux on the other hand does not assume this and uses helper threads to
kick IO.)

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