Re: [CFT][PATCH] block_write_*_buffer rewrite

Ingo Molnar (mingo@chiara.csoma.elte.hu)
Wed, 1 Dec 1999 10:15:12 +0100 (CET)


On Tue, 30 Nov 1999, Alexander Viro wrote:

> Patch merges most of block_write_{partial,cont}_page and fixes a
> couple of bad bugs in the latter. It should fix the problems with
> write-beyond-EOF on FAT and HPFS and it cleans the code up. [...]

looks good, but i think you have removed an important optimization:
overlapping the issuing/finishing of read requests with copying memory, on
1k filesystems. This should not matter much on bigger boxes, but on
smaller ones i've seen a definite advantage. So it's fine (and wanted) to
issue read requests first (the old version didnt do this), but you are
waiting for them to finish synchronously - this should be interleaved with
memory copies. Also there is a deadlock situation which David Miller
noticed some time ago (i think this is still present): just try read()-ing
a file into a freshly mmap()-ed memory area. (where the mmap-ed page is
the same as the read() page.) Legal combination, instant stuck process.

-- mingo

-
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/