Eliminating bounce buffers
Stephen C. Tweedie
sct en redhat.com
Lun Ene 31 16:24:03 CST 2000
Hi,
On Fri, 28 Jan 2000 11:29:29 -0500, Larry Woodman
<woodman en missioncriticallinux.com> said:
> I have a patch for 2.3.40 which eliminates the whole idea of bounce
> buffers and prepare_highmem_swapout()/replace_with_highmem() for big
> memory Intel systems. The way it works is rather than copying high
> memory pages to and from low memory pages before scheduling IO, I map
> highmem pages into virtual addresses up in the vmalloc address space
> (via get_vm_area) and put this virtual address in the b_data field of
> the buffer_head for the duration of the IO operation.
..
> This seems to be cleaner than doing IO to lower physical address pages
> and copying to and from highmem pages, or am I missing something
> here???
Yes. With more than 4G of memory, you still need bounce buffers unless
your device drivers are *all* capable of supporting 64-bit addressing
(either via PCI-64 or through dual address cycles).
For addresses below 4G, your method may make sense. I'd want to be
really sure that all devices will support those high addresses before
enabling it by default, though.
--Stephen
-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo en vger.rutgers.edu
Please read the FAQ at http://www.tux.org/lkml/
Más información sobre la lista de distribución Ayuda