As it turns out though, we must allocate a full 4KB page for this, so
the two PRD tables (ide0 & ide1) will each get half of that, allowing
each to have about 256 entries (8 bytes each) from this.
*/
#define PRD_BYTES 8
#define PRD_ENTRIES (PAGE_SIZE / (2 * PRD_BYTES))
-----------------------------
This looks a little outdated, but I'm interested in the second
paragraph. I don't see where multiple interfaces are sharing the same
page. The documentation here and for pci_alloc_consistent says that
blocks are allocated in full pages. This implies that the unused
portion is wasted.
So...
- Is the code wasting half of the page, and should PRD_ENTRIES be
redefined to be larger?
- Am I misunderstanding the documentation, and is the other half of the
page used somewhere else?
- Am I misunderstanding the code, and do multiple interfaces share the
page?
- Should this be modified to use the pci_pool interface as defined in
DMA-mapping.txt?
Thanks!
Gerald
-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@vger.kernel.org
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/