Описание тега kmalloc
The kmalloc function performs fast dynamic memory allocation and is part of the Linux Kernel API.
2
ответа
Что означает GFP в флагах kmalloc?
Каково значение GFP флаги в kmalloc? Например GFP_KERNEL, GFP_ATOMIC?
27 июн '12 в 09:51
0
ответов
Когда мы используем vmalloc и kmalloc?
Я знаю, что kmalloc выделяет непрерывную память в физической памяти, а также виртуальную память, vmalloc выделяет непрерывную память в виртуальной памяти, но это не гарантирует, что память, выделенная в физической памяти, будет смежной. Поэтому каже…
20 июн '18 в 09:25
0
ответов
Как я могу получить строки, которые расположены по определенному виртуальному адресу в Ubuntu?
У меня есть указатель на массив с символами. char *myArr = kmalloc(100, GFP_KERNEL); //put message in kernel for(int i = 0; i < 100; ++i) { myArr[i] = x30; //put symbols here } printk(KERN_INFO "The string is located at virtual address %p, physic…
08 окт '17 в 10:44
1
ответ
Почему рекурсивные вызовы файловой системы были бы плохой идеей, когда GFP_NOFS маскируется
Со страницы LDD3 214: GFP_NOIOGFP_NOFSЭти флаги действуют как GFP_KERNEL, но они добавляют ограничения на то, что ядро может сделать, чтобы удовлетворить запрос. Распределению GFP_NOFS не разрешено выполнять какие-либо вызовы файловой системы, в т…
30 дек '15 в 05:00
0
ответов
Как я могу выделить память более 32 Мб для передачи dma на PCI-устройство
Привет, я хочу выделить более 32 Мб памяти для передачи DMA между системной памятью и устройством PCIe. API-интерфейс dma_alloc_coherent() может выделять только до 32 МБ. Использование аргумента mem в аргументе загрузки представляется возможным, но …
29 янв '19 в 09:14
0
ответов
Kmalloc в dentry_open(): паника ядра
Я работаю над ядром Linux 2.6.34.14. Я добавил (в include/linux/fs.h) в файл структуры указатель на структуру, определенную ранее, таким образом: struct session{ char *session_buffer; loff_t session_dimension; }; struct file { struct session *sess_p…
30 ноя '13 в 10:34
1
ответ
Может ли kmalloc() вернуть неверную память?
Я пишу модуль ядра Linux, в котором я реализовал связанный список. Я знаю, что в ядре Linux есть список API, но когда я его реализовал, я не знал, поэтому реализовал его, обрабатывая необработанный указатель с помощью kmalloc(). После нескольких час…
27 дек '13 в 12:29
0
ответов
Назначение указателя структуры вызывает замораживание ядра
У меня есть структура в ядре Linux, как показано ниже: struct st_fetch_point { struct sk_buff *end_pkt ; struct sk_buff *start_pkt ; struct sk_buff *current_pkt ; struct st_fetch_point *next_fortp ; struct st_fetch_point *next_consec ; }; У меня ест…
03 июл '18 в 17:42
1
ответ
Физический адрес адреса, возвращаемого kmalloc
Я немного запутался в адресах, которые мне возвращает kmalloc. Согласно карте виртуальной памяти, адреса, которые я получаю, находятся в ffff880000000000 - ffffc7ffffffffff диапазон, так что "прямое отображение всей физ. памяти". Как работает это от…
22 июн '13 в 12:52
0
ответов
Отключение oom killer влияет на область, выделенную kmalloc()?
Моя версия ядра Linux - 2.6.34.13Процессор Powerpc. Я хотел бы полностью отключить OOM-killer как в пользовательском процессе, так и в модуле ядра. Конфигурируя с помощью следующих параметров, я отключил oom killer. vm.overcommit_memory = 2 vm.overc…
21 ноя '13 в 08:10
1
ответ
Объяснить параметры и использование devm_kzalloc
Я новичок в программировании драйверов ядра и хотел бы понять несколько аспектов. В приведенном ниже коде от http://lxr.free-electrons.com/source/drivers/i2c/busses/i2c-ocores.c?v=3.19 static int ocores_i2c_probe(struct platform_device *pdev) { stru…
18 июн '16 в 20:52
0
ответов
Привет. Я пытаюсь выделить память в ядре Linux с помощью kmalloc
Я пытаюсь выделить память в ядре Linux с помощью kmalloc. У меня есть структура, разработанная как показано ниже: struct st_fetch_point { struct sk_buff *end_pkt ; struct sk_buff *start_pkt ; struct sk_buff *current_pkt ; struct st_fetch_point *next…
26 июн '18 в 16:51
2
ответа
Выделяется ли память kmalloc() когда-либо автоматически?
Я пишу драйвер устройства, который, помимо прочего, выделяет блок памяти с kmalloc, Эта память освобождается, когда пользовательская программа закрывает файл. В одном из моих экспериментов пользовательская программа не работала без закрытия файла. Ч…
25 июл '12 в 19:42
1
ответ
Использование kmalloc в драйвере устройства
В задании, которое у меня есть, я должен создать драйвер устройства для колоды карт. Однако у меня возникли проблемы с использованием kmalloc на массиве структур. Массив строит колоду и имеет размер 52. У меня пока есть следующее (очевидно, оно непо…
11 апр '14 в 03:11
0
ответов
Драйвер требует больших кусков непрерывной физической памяти
Мне нужно изменить драйвер сетевого адаптера, чтобы увеличить его производительность для моего использования, и мне нужен огромный кусок физической памяти, чтобы быть непрерывным. Мне понадобится несколько таких кусков в зависимости от количества по…
16 ноя '16 в 18:29
1
ответ
Непрерывная физическая память с использованием kmalloc на гостевой
Я реализую драйвер устройства в гостевой ОС. Для этого мне нужно выделить буферное пространство, которое требуется для непрерывной физической памяти. Гарантирует ли выделение буфера с помощью kmalloc в гостевой ОС непрерывный физический адрес? Если …
24 июл '18 в 20:10
1
ответ
Как отключить кеш-память в модулях ядра
В настоящее время я пытаюсь разработать драйвер для Linux, чтобы использовать пользовательский модуль, разработанный в FPGA. Для этого я использую Xilinx Zynq SoC с дистрибутивом Linux, который работает на 2 ядрах ARM, а мои модули VHDL реализованы …
21 мар '16 в 11:43
2
ответа
Объявить память, чтобы структурировать в C
У меня есть структура ABC в одном файле struct abc { some variaables and functions } Я использую эту структуру в другом файле следующим образом: struct abc *t = kmalloc(sizeof(struct abc));kmalloc эквивалентен malloc тогда происходят следующие ошибк…
07 апр '14 в 00:04
1
ответ
Передача списка значений в пространство ядра
Я работаю над проектом Linux. Мне нужно передать список целочисленных значений в ядро из пользовательской программы. Я реализовал системный вызов для этого. В программе userpace у меня был следующий код. Значение num_values получается из аргументо…
04 июл '14 в 15:57
1
ответ
Пул памяти в драйвере ядра для нескольких процессов
Предположим, мы хотим сохранить пул памяти в драйвере или модуле устройства. Как можно создать этот пул и сделать его доступным для нескольких процессов, скажем, 4 процесса, обращающихся к этому драйверу / модулю. Предположим, 1 МБ памяти в пуле. Ко…
27 апр '15 в 12:18