Call for testing and review, busdma changes
scott4long at yahoo.com
Sun Dec 30 18:26:13 UTC 2012
On Dec 30, 2012, at 11:21 AM, Ian Lepore <freebsd at damnhippie.dyndns.org> wrote:
> On Mon, 2012-12-24 at 22:13 -0500, Scott Long wrote:
>>>>> Still unresolved is what to do about the remaining cases -- attempts to
>>>>> do dma in arbitrary buffers not obtained from bus_dmamem_alloc() which
>>>>> are not aligned and padded appropriately. There was some discussion a
>>>>> while back, but no clear resolution. I decided not to get bogged down
>>>>> by that fact and to fix the mbuf and allocated-buffer situations that we
>>>>> know how to deal with for now.
>> Why would these allocations not be handled as normal dynamic buffers
>> would with bus_dmamap_load()?
> That's my point -- for "normal dynamic buffers" (that is, they weren't
> obtained from bus_dmamem_alloc() and they aren't mbufs) which can have
> arbitrary alignment and padding in relation to cache line boundaries --
> we don't handle them correctly now unless they're accidentally already
> aligned and sized to the right boundaries. What's unresolved is how to
> handle them correctly if they're not aligned/padded, that is, what to do
> about them that avoids needing a partial cacheline flush at sync time.
Alignment is already handled.
More information about the freebsd-sparc64