DragonFly kernel List (threaded) for 2010-11
Re: swi_vm() and busdma_swi()?
: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
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.