DragonFly BSD
DragonFly kernel List (threaded) for 2010-11
[Date Prev][Date Next]  [Thread Prev][Thread Next]  [Date Index][Thread Index]

Re: swi_vm() and busdma_swi()?


From: Matthew Dillon <dillon@xxxxxxxxxxxxxxxxxxxx>
Date: Tue, 30 Nov 2010 22:07:05 -0800 (PST)

: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
:situation.
:
:Best Regards,
:sephe

    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.

					-Matt
					Matthew Dillon 
					<dillon@backplane.com>



[Date Prev][Date Next]  [Thread Prev][Thread Next]  [Date Index][Thread Index]