Eliminating bounce buffers

Larry Woodman woodman en missioncriticallinux.com
Lun Ene 31 19:31:44 CST 2000


"Stephen C. Tweedie" wrote:

> 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

Yes, I totally agree that after we pass 4GB of physical memory we still
need
to copy to pages which are less than 4GB before doing IO.  Do you think its

worth having yet another zone for this???

Larry


------------ próxima parte ------------
A non-text attachment was scrubbed...
Name: woodman.vcf
Type: text/x-vcard
Size: 225 bytes
Desc: Card for Larry Woodman
URL: <https://lists.srvr.mx/pipermail/ayuda/attachments/20000201/90dd7990/attachment.vcf>


Más información sobre la lista de distribución Ayuda