Система x86, линукс ядро 2.6.35
Читаю https://www.kernel.org/doc/Documentation/DMA-API.txt секцию «Part Id» про функцию dma_map_single() Там есть такие слова:
CODE
it is recommended that driver writers map virtual regions that begin and end on page boundaries (which are guaranteed also to be cache line boundaries).
Я знаю (и об этом написано в LDD), что get_free_page() гарантирует выделение памяти по границе страницы. А будет ли гарантировать подобное kmem_cache_alloc()? (Драйвер, с которым я работаю, держит небольшой buffer pool и из него черпает буферы для dma операций).
Спасибо.