Описание тега vmalloc
2
ответа
Использование vmalloc (libvmalloc.a) на Mac и CentOS- не может включать заголовок vmalloc
Я хочу выделить практически непрерывную память диапазона, чтобы я мог использовать свойство locality (пространственная локальность) при доступе к данным с учетом повышения производительности. На следующей странице я обнаружил, что мне нужно использо…
19 июл '11 в 00:13
0
ответов
Когда мы используем vmalloc и kmalloc?
Я знаю, что kmalloc выделяет непрерывную память в физической памяти, а также виртуальную память, vmalloc выделяет непрерывную память в виртуальной памяти, но это не гарантирует, что память, выделенная в физической памяти, будет смежной. Поэтому каже…
20 июн '18 в 09:25
1
ответ
Vmalloc() получает память только от ZONE_HIGHMEM на 32-битной x86?
Если на 32-битной платформе x86 vmalloc() может выделять память из ZONE_NORMAL или ZONE_HIGHMEM, значит ли это, что даже если я увеличу ZONE_HIGHMEM, фактический общий диапазон, который может использовать vmalloc(), не изменится? Я сделал тест для у…
14 май '12 в 17:27
0
ответов
Выделение исполняемой страницы в модуле ядра Linux
Я знаю, что в следующей ссылке есть соответствующий пост об этом, но по какой-то причине в моем ядре отсутствует файл заголовка asm/pgtype_types.h (моя версия ядра 4.9.13-v8+) Как разместить исполняемую страницу в модуле ядра Linux? У вас есть идея,…
27 апр '17 в 06:55
0
ответов
Как получить адреса памяти vmalloc(), редактируемые ранее любыми модулями?
Во-первых, vmalloc() вызывается много раз любыми модулями. Некоторые из этих адресов были освобождены, некоторые не освобождены, а некоторые просачиваются. Затем драйвер модуля должен определить состояние этих адресов, т. Е. Освобождены ли эти адрес…
28 июн '15 в 15:32
2
ответа
Портирование модуля на более новое ядро Linux: невозможно выделить память
У меня довольно большой модуль драйвера, который я пытаюсь скомпилировать для недавнего ядра Linux (3.4.4). Я могу успешно скомпилировать и insmod тот же модуль с ядром 2.6.27.25. Версия GCC также отличается, 4.7.0 против 4.3.0. Обратите внимание, ч…
19 июл '12 в 12:27
0
ответов
UIImagePngRepresentation иногда вызывает утечку памяти
Мой код показывает странное поведение, и я искал часы без удачи. Мой фрагмент кода: func loadImageFromLocal(index:String)->UIImage{ var fileManager = NSFileManager.defaultManager() var containerURL = fileManager.containerURLForSecurityApplication…
07 мар '15 в 01:13
2
ответа
Освобождающий (vfree-ing) указатель на изменчивые данные
volatile кажется бесконечным вопросом каждого. Я думал, что знаю все об этом, но потом я столкнулся с этим: Итак, у меня есть часть памяти, разделяемая между потоками, и я определил это так: volatile type *name; Если это заставляет вас чувствовать с…
18 окт '11 в 14:06
7
ответов
В чем разница между vmalloc и kmalloc?
Я погуглил и обнаружил, что большинство людей выступает за использование kmalloc, поскольку вы гарантированно получите смежные физические блоки памяти. Тем не менее, это также кажется, как будто kmalloc может потерпеть неудачу, если нужный физически…
22 сен '08 в 17:46
1
ответ
Чтение большого массива из модуля ядра Linux
Я много раз искал по этому вопросу, хотя я определенно что-то упустил, и я прочитал http://tldp.org/LDP/lkmpg/2.6/html/lkmpg.html и этот http: / /www.amazon.com/Essential-Device-Drivers-Sreekrishnan-Venkateswaran/dp/0132396556, но у меня возникают п…
21 мар '12 в 03:56
1
ответ
create_module - почему используется copy_from_user?
Я читаю LDD3. В главе 8 я не мог понять этот абзац: Пример функции в ядре, которая использует vmalloc это create_module системный вызов, который использует vmalloc чтобы получить место для создаваемого модуля. Код и данные модуля впоследствии копиру…
06 дек '13 в 17:16
1
ответ
Linux ядро vfree(), как синхронизировать мастер таблицы страниц ядра и таблицы страниц процесса?
Я знаю, как vmalloc () делает。 Когда процесс (в пространстве ядра) хочет получить доступ к памяти, которая принадлежит vmalloc () fault происходит сбой страницы и выполняется синхронизация。 Но когда он вызывает vfree(), как процесс обновляет свою та…
01 сен '15 в 03:38
2
ответа
Почему физически непрерывная область памяти более эффективна, чем виртуальная непрерывная память?
Говорят, что физически смежная область памяти более эффективна, чем виртуально смежная память, поскольку в этой книге Роберта Лава говорится, что ядру не нужно настраивать записи таблицы страниц для физически смежной памяти. Но разве ядру не нужна т…
23 июл '14 в 11:40
0
ответов
vmalloc - обновляет таблицы страниц другого процесса при ошибке страницы
Я читал книгу Мела Гормана "Понимание диспетчера виртуальной памяти Linux" и натолкнулся на вопрос о том, почему таблица страниц процесса обновляется из-за его доступа к области vmalloc(). Вот ссылка на диаграмму, которую он использует для объяснени…
11 май '16 в 00:06
1
ответ
vmalloc_to_pfn возвращает 32-битный адрес в системе Linux 32. Почему он отсекает старшие биты физического адреса PAE?
Я использую vmalloc_to_pfn() для получения физического адреса в 32-битной системе PAE Linux. Похоже, vmalloc_to_pfn() возвращает "unsigned long", что означает, что он 32-битный в 32-битной системе, 64-битный в 64-битной системе. В 64-битном Linux un…
11 июл '12 в 22:57
0
ответов
Понимание структуры физической и виртуальной памяти в моем ядре
У меня есть dragonboard410c, который основан на arm64 и при загрузке показывает расположение памяти: software IO TLB [mem 0xb6c00000-0xbac00000] (64MB) mapped at [ff] Memory: 780212K/951296K available (9940K kernel code, 1294K rwda) Virtual kernel m…
16 апр '17 в 12:37
3
ответа
Есть ли ограничение размера для модуля ядра в Linux?
У меня проблема с загрузкой модуля ядра, существует большая структура данных, размером около 2 ГБ памяти - могу ли я предварительно выделить таблицу (чтобы она отображалась в.bss, когда я делаю size -A module.ko или попытаться vmalloc() во время заг…
10 июн '11 в 12:13
1
ответ
kmallc и vmalloc возвращают логический адрес?
Хотя на kmalloc и vmalloc уже запущено много потоков, но я не получил точного ответа, поэтому выкладываю его здесь. Насколько я знаю, kmalloc: это API ядра, который выделяет физически, а также практически непрерывную память. vmalloc: это API ядра, к…
12 апр '14 в 05:42
1
ответ
Какое пространство VMALLOC может быть в 32-битной x86?
Моя физическая память 4G, и я использую Android x86, который является 32-битным, HIGHMEM4G включен. Я хочу максимально увеличить пространство vmalloc (). Как я и пытался, при переходе на 2G/2G VMsplit и увеличении VMALLOC_RESERVED пространство vmall…
16 май '12 в 19:50
0
ответов
Как kmalloc() и vmalloc() используются в 32-битных и 64-битных системах?
Архитектура: X86, Linux Я прошел через несколько тем, связанных с kmalloc() а также vmalloc() и я знаю основные различия между ними, но у меня все еще есть некоторые сомнения. Мне нужна ваша помощь, чтобы понять основы. Итак, как мы знаем, в 32-битн…
29 май '19 в 06:35