Skip site navigation (1)Skip section navigation (2)
Date:      Wed, 22 Nov 1995 00:24:47 +1100 (EST)
From:      michael butler <imb@scgt.oz.au>
To:        sysseh@devetir.qld.gov.au (Stephen Hocking)
Cc:        current@freebsd.org, sysseh@devetir.qld.gov.au
Subject:   Re: QIC-02 tape drive problemette
Message-ID:  <199511211324.AAA21883@asstdc.scgt.oz.au>
In-Reply-To: <199511210924.JAA01770@netfl15a.devetir.qld.gov.au> from "Stephen Hocking" at Nov 21, 95 07:24:35 pm

next in thread | previous in thread | raw e-mail | index | archive | help
Stephen Hocking writes:

> I managed to put in the patches, even though they needed a fair bit of
> massaging (although mt.c did not need patching) and also persuaded the
> code to do a DELAY instead of an tsleep when wtpoll was called from
> wtintr. This stopped the crashes but also caused the machine to lock up
> until the tape rewound. I'll look at reducing the sizes of the DELAY
> parameter and see if that makes any difference.

I always understood that the "poll" entry point in drivers (such as sio.c)
was the recommended method for setting (or unsetting) flags to allow a tardy
open/close/read/write (or any other sufficiently slow) device operation to
complete.

The caller waiting on the device gets put to sleep, the poll function is
invoked at some convenient time (for the kernel) and, when the blocking
operation does finally complete, the caller gets woken up. Am I missing
something ?

	michael



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?199511211324.AAA21883>