Differences
This shows you the differences between two versions of the page.
Both sides previous revision Previous revision | |||
soc:2008:stefanha:journal:week11 [2008/08/08 05:24] stefanha |
soc:2008:stefanha:journal:week11 [2008/08/10 08:31] (current) stefanha |
||
---|---|---|---|
Line 10: | Line 10: | ||
After chatting with Marty today I am focusing again. Discussing Etherboot inspires me to get back to coding! | After chatting with Marty today I am focusing again. Discussing Etherboot inspires me to get back to coding! | ||
+ | |||
+ | ==== Sun 10 Aug ==== | ||
+ | DMA mapping currently provides a mechanism to "sync" dynamically allocated memory with DMA-capable memory. This allows drivers to update their snapshot of memory shared with the device, or for the driver to change memory seen by the device. | ||
+ | |||
+ | The sync works by copying memory from the source region to the destination region. Drivers that use DMA mapping therefore pay a memory copy performance penalty. | ||
+ | |||
+ | There is a way to avoid syncing which I would like to explore. It also plays well with the concept of DMA pools (memory regions set aside as DMA memory). DMA pools mean that drivers must declare their intention to use DMA memory and reserve an amount of memory. We need to do this because gPXE should not change the memory map once it has been started. | ||
Next steps: | Next steps: |