Messages in this thread | | | From | "Stephen C. Tweedie" <> | Date | Fri, 3 Sep 1999 16:30:39 +0100 (BST) | Subject | Re: CONFIG_BIGMEM and rawio |
| |
Hi,
On Fri, 3 Sep 1999 15:41:23 +0200 (CEST), Andrea Arcangeli <andrea@suse.de> said:
> If your object is to put the bounce-buffer in ll_rw_block and to allow > the bigmemory to go into the page-cache IMHO you'll slowdown the > system too much. The buffer copies trashes the CPU cache. I thought to > do that too (I think I also mentioned that in one of my first emails > about bigmem).
We already have patches flying around for cache-bypass bulk memory copies on P6. By restricting the page cache to 1G when you have 4G of free memory on a large web server, you are also slowing down the system too much. :) And of course, in the long term the bounce buffers will only affect devices which can't do the dma directly.
> Supposing you can deal with the slowdown, for the filesystem read and > writes you don't have a buffer alone, but you have the page-cache, so > in ll_rw_block you can't simply duplicate a buffer and invalidate the > old one since the new buffer must live in the place of the old > buffer. So you'll have to play with the pagecache too and not only > with ll_rw_block.
Nonsense! You do only one copy, inside ll_rw_block. You do it before the IO for write, after the IO for read. Nobody else has to know. We already implement bounce buffers underneath the ll_rw_block interface for some ISA devices and it works just fine.
--Stephen
- 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/
| |