Writes are Reads could access multiple blocks in the same write/read.
--Eric
"sg" <s...@sg.sg> wrote in message news:d5p1j7$lej$1...@geraldo.cc.utexas.edu...
I don't understand it either... the theory seems to be that block and
unblock should be called once for the entire write (that makes sense),
but it *looks* like if *some* pages block but the last one doesn't, the
process won't be blocked/unblocked. Maybe somebody who used that method
as written can test it and confirm or deny.
Close -- I think you'd have to proc_unblock for the last block that
doesn't hit the cache (not the last block requested, as it is now
coded).
I kept count of how many requests have been satisfied for the read, and
when the last one is satisfied (not necessarily the last block to be
requested, but the last one to be satisfied), then I unblock. I'm sure
there're other ways to do it.