Back to list

Bouncing of the other kind: OpenBSD for large memory systems

Thordur Bjornsson, Owain Ainsworth
A few modern architectures are in a situation where devices on the bus
may not access all of physical memory, due to hardware restrictions and
the non-ubiquity of an IOMMU. The most popular choice of these currently
being the Intel and AMD64 architectures.

A common but expensive solution to the problem of keeping data device
reachable is bouncebuffering, a technique which copies data to and from
buffers that are within the reach of the device performing DMA.

This paper describes a novel approch which is implemented in OpenBSD;
where instead of using bouncebuffering, machine dependent allocation
policy and subsystem co-operation is used to ensure that memory needing
to be within the reach of devices performing DMA is allocated from the
proper memory ranges. This solution also provides facilities to prevent
exhaustion of accessible memory ranges due to caching or excessive
Target Audience:
Target OS:
Back to list

EuroBSDCon Organizer

see all Sponsors

©2015 · All rights reserved. Imprint