LINUX.ORG.RU

История изменений

Исправление cruz7, (текущая версия) :

get_free_page точно, и, наверное, kmalloc(достаточно_много).

Да, про get_free_page мне известно. В драйвере, который мне достался и с которым я сейчас работаю, выделен пул буферов через kmem_cache и оттуда черпаются буферы для dma операций; ведь вроде kmem_cache состоит из 1 и более slab, каждый slab это 1 и более contiguous страницы, соответственно kmem_cache_alloc должен бы возвращать по границе страницы? Или таки это платформенно зависимо?

PS. Что имеется в виду под «достаточно_много»

Исходная версия cruz7, :

get_free_page точно, и, наверное, kmalloc(достаточно_много).

Да, про get_free_page мне известно. Касательно kmem_cache: ведь вроде kmem_cache состоит из 1 и более slab, каждый slab это 1 и более contiguous страницы, соответственно kmem_cache_alloc должен бы возвращать по границе страницы? Или таки это платформенно зависимо?

PS. Что имеется в виду под «достаточно_много»