Re: CONFIG_BIGMEM and rawio

Stephen C. Tweedie (sct@redhat.com)
Fri, 3 Sep 1999 16:30:39 +0100 (BST)


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/