Messages in this thread | | | Date | Mon, 4 Jun 2007 10:17:45 -0400 | From | "John Stoffel" <> | Subject | Re: slow open() calls and o_nonblock |
| |
>>>>> "Aaron" == Aaron Wiebe <epiphani@gmail.com> writes:
Aaron> On 6/4/07, Alan Cox <alan@lxorguk.ukuu.org.uk> wrote: >> >> > Now, I'm a userspace guy so I can be pretty dense, but shouldn't a >> > call with a nonblocking flag return EAGAIN if its going to take >> > anywhere near 415ms? >> >> Violation of causality. We don't know it will block for 415ms until 415ms >> have elapsed.
Aaron> Understood - but what I'm getting at is more the fact that Aaron> there really doesn't appear to be any real implementation of Aaron> nonblocking open(). On the socket side of the fence, I would Aaron> consider a regular file open() to be equivalent to a connect() Aaron> call - the difference obviously being that we already have a Aaron> handle for the socket.
Aaron> The end result, however, is roughly the same. We have a file Aaron> descriptor with the endpoint established. In the socket world, Aaron> we assume that a nonblocking request will always return Aaron> immediately and the application is expected to come back around Aaron> and see if the request has completed. Regular files have no Aaron> equivalent.
So how many files are in the directory where you're seeing the delays? And what's the average size of the files in there?
John - To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to majordomo@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/
| |