swi_vm() and busdma_swi()?

Matthew Dillon dillon at apollo.backplane.com
Tue Nov 30 22:09:02 PST 2010

:If the system is short of bounce pages and the buffer to be loaded
:needs to be bounced (i.e. needs to be copied to the address that is
:accessible to device.  This usually happens on the system w/ more than
:4Gbytes memory, since most old devices can't access physical addresses
:above 4Gbytes), then those drivers will not work under these
:Best Regards,

    I'd like to rip out the entire bounce buffer mechanism and replace
    it with a fixed pre-allocation of bounce memory for the entire kernel,
    for both 24 and 31/32 bit address restrictions.

    Then we can get rid of all the async bounce buffer junk across the
    board and replace it with normal driver-friendly synchronous bounce
    buffers and a simple API call a driver can call when it is holding
    no locks to block in a friendly way when bounce buffers are short.

					Matthew Dillon 
					<dillon at backplane.com>

More information about the Kernel mailing list