2.1.127 - Schedule timeout

Mike Black (mblack@csi.cc)
Thu, 10 Dec 1998 07:50:08 -0500


Running 2.1.127 I have now twice had a problem getting a negative timeout
value which locks up the kernel. The timeout value keeps decrementing but I
don't want to wait for it go positive to see if it would continue...would
take forever...

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/