On Sun, 16 Apr 2000, Jens Axboe wrote:
>Ok, time for another iteration of this patch. Changes since last time:
I read it fast and I can see a few problems:
o inserted smp race in wait_on_buffer
o reads doesn't fallback in the write freelist in the
get_request_wait case (do the fallback internally to get_request)
o optimize away the:
+ if (rw == READ)
+ list = &q->request_freelist[REQUEST_LIST_READ];
+ list = &q->request_freelist[REQUEST_LIST_WRITE];
if the compiler doesn't understand READ == REQUEST_LIST_READ and
REQUEST_LIST_WRITE == WRITE (I guess it doesn't understand
o get_request_wait must definitely sleep in wake-one as before.
uplugging the device only assure that you'll get the request
completed in finite time. But the I/O completation time
is loong and you also don't want to forbid the
next plug to happen while you're waiting the completation
of the last unplug.
More thought on this soon...
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to email@example.com
Please read the FAQ at http://www.tux.org/lkml/
This archive was generated by hypermail 2b29 : Sun Apr 23 2000 - 21:00:09 EST