The kernel spits out the message:
schedule_timeout: wrong timeout value 0xFF..... from 0xc01ad9ec
This occurred during a file access on an NFS mounted partitition -- the
client kept running but the server got stuck spitting out the above message.
I traced this down to:
In fs/lockd/svclock.c, function nlmsvc_retry_blocked() there is a section of
code which says:
if ((block = nlm_blocked) && block->b_when != NLM_NEVER)
return (block->b_when - jiffies);
The above does NOT guarantee the return value to be positive which I believe
results in the negative timeout value (and it makes sense that this value
keeps decrementing as jiffies keeps incrementing).
Why isn't this function just returning MAX_SCHEDULE_TIMEOUT ??
Also, shouldn't schedule_timeout() doe something intelligent like pick a
decent value rather than just returning??
________________________________________
Michael D. Black Principal Engineer
mblack@csi.cc 407-676-2923,x203
http://www.csi.cc Computer Science Innovations
http://www.csi.cc/~mike My home page
FAX 407-676-2355
-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@vger.rutgers.edu
Please read the FAQ at http://www.tux.org/lkml/