|
|
|
Выделить непрерывный(физически) участок памяти 1МБ - 1ГБ и отобразить его в user-space.
|
|||
|---|---|---|---|
|
#18+
Как можно в Linux выделить в виртуальном пространстве kernel-space непрерывный(физически) участок памяти 1МБ - 1ГБ и затем отобразить его в виртуальное адресное пространство user-space? Чтобы выделить в виртуальном пространстве kernel-space подойдет kmalloc(), но он выделяет только до 4 МБ и как потом их отобразить в user-space? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 19.11.2013, 18:41:06 |
|
||
|
Выделить непрерывный(физически) участок памяти 1МБ - 1ГБ и отобразить его в user-space.
|
|||
|---|---|---|---|
|
#18+
malloc ... ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 19.11.2013, 19:11:03 |
|
||
|
Выделить непрерывный(физически) участок памяти 1МБ - 1ГБ и отобразить его в user-space.
|
|||
|---|---|---|---|
|
#18+
непрерывный(физически) участок, 1) зачем? я не вижу никакого смысла именно в физически непрерывной памяти 2) память выделенную через kmalloc в общем случае нельзя отобразить в юзерский процесс, т.к. kmalloc работает с гранулярностью меньше страницы, а отображать можно только постранично. Но в каких-то частных случаях наверно можно. 3) Используйте vmalloc и не морочьте нам голову. Эту память и отобразить элементарно :) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 19.11.2013, 19:46:18 |
|
||
|
Выделить непрерывный(физически) участок памяти 1МБ - 1ГБ и отобразить его в user-space.
|
|||
|---|---|---|---|
|
#18+
Кстати, я вполне уверен, что если выделить память vmalloc сразу после старта системы, то она будет физически непрерывной :) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 19.11.2013, 19:52:14 |
|
||
|
Выделить непрерывный(физически) участок памяти 1МБ - 1ГБ и отобразить его в user-space.
|
|||
|---|---|---|---|
|
#18+
Anatoly Moskovskyнепрерывный(физически) участок, 1) зачем? я не вижу никакого смысла именно в физически непрерывной памяти 2) память выделенную через kmalloc в общем случае нельзя отобразить в юзерский процесс, т.к. kmalloc работает с гранулярностью меньше страницы, а отображать можно только постранично. Но в каких-то частных случаях наверно можно. 3) Используйте vmalloc и не морочьте нам голову. Эту память и отобразить элементарно :) А если я хочу использовать память(десятки мегабайт) для доступа к ней из устройства подключенного по PCI-Express, которое естественно не сможет обращаться по виртуальным адресам из-за отсутствия IOMMU и этому устройству нужна последовательная непрерывная область физической памяти? Вот тут допустим пишут: http://stackoverflow.com/a/116458/1558037 авторmax size of a single kmalloc is up to 4 MB ! ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 19.11.2013, 20:32:47 |
|
||
|
Выделить непрерывный(физически) участок памяти 1МБ - 1ГБ и отобразить его в user-space.
|
|||
|---|---|---|---|
|
#18+
непрерывный(физически) участокА если я хочу использовать память(десятки мегабайт) для доступа к ней из устройства подключенного по PCI-Express, которое естественно не сможет обращаться по виртуальным адресам из-за отсутствия IOMMU и этому устройству нужна последовательная непрерывная область физической памяти? Посмотрите может DMA API вам поможет: https://www.kernel.org/doc/Documentation/DMA-API.txt dma_alloc_coherent должен уметь большие буфера для DMA. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 19.11.2013, 21:07:32 |
|
||
|
Выделить непрерывный(физически) участок памяти 1МБ - 1ГБ и отобразить его в user-space.
|
|||
|---|---|---|---|
|
#18+
Anatoly Moskovskyнепрерывный(физически) участокА если я хочу использовать память(десятки мегабайт) для доступа к ней из устройства подключенного по PCI-Express, которое естественно не сможет обращаться по виртуальным адресам из-за отсутствия IOMMU и этому устройству нужна последовательная непрерывная область физической памяти? Посмотрите может DMA API вам поможет: https://www.kernel.org/doc/Documentation/DMA-API.txt dma_alloc_coherent должен уметь большие буфера для DMA. Да, я как раз щас про него на 446 странице читал тут: http://lwn.net/images/pdf/LDD3/ch15.pdf А dma_alloc_coherent() - это именно оптимальный вариант для этого? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 19.11.2013, 21:45:42 |
|
||
|
Выделить непрерывный(физически) участок памяти 1МБ - 1ГБ и отобразить его в user-space.
|
|||
|---|---|---|---|
|
#18+
непрерывный(физически) участок, Задайте свой вопрос в правильном месте :) Например на stackoverflow ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 19.11.2013, 22:02:55 |
|
||
|
Выделить непрерывный(физически) участок памяти 1МБ - 1ГБ и отобразить его в user-space.
|
|||
|---|---|---|---|
|
#18+
Ужасно, если в MotherBoard стоят два слота и две планки памяти. Ведь в этом случае мы можем случайно (внезапно!) выделить память на границе двух планок ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 19.11.2013, 23:03:29 |
|
||
|
Выделить непрерывный(физически) участок памяти 1МБ - 1ГБ и отобразить его в user-space.
|
|||
|---|---|---|---|
|
#18+
mayton, так, тогда, разрыв в выделении получится? сантиметра на полтора ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 20.11.2013, 04:28:09 |
|
||
|
Выделить непрерывный(физически) участок памяти 1МБ - 1ГБ и отобразить его в user-space.
|
|||
|---|---|---|---|
|
#18+
alex_kmayton, так, тогда, разрыв в выделении получится? сантиметра на полтора Это получится разрыв в 300-400 мегабайт где-то... ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 20.11.2013, 13:26:00 |
|
||
|
Выделить непрерывный(физически) участок памяти 1МБ - 1ГБ и отобразить его в user-space.
|
|||
|---|---|---|---|
|
#18+
непрерывный(физически) участок , зарегался-б штоли. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 20.11.2013, 16:18:45 |
|
||
|
Выделить непрерывный(физически) участок памяти 1МБ - 1ГБ и отобразить его в user-space.
|
|||
|---|---|---|---|
|
#18+
mayton непрерывный(физически) участок , зарегался-б штоли. Это - она, а не он :) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 20.11.2013, 18:28:27 |
|
||
|
Выделить непрерывный(физически) участок памяти 1МБ - 1ГБ и отобразить его в user-space.
|
|||
|---|---|---|---|
|
#18+
Anatoly Moskovskymayton непрерывный(физически) участок , зарегался-б штоли. Это - она, а не он :) Ты -- великий ясновидящий ! ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 20.11.2013, 18:37:40 |
|
||
|
Выделить непрерывный(физически) участок памяти 1МБ - 1ГБ и отобразить его в user-space.
|
|||
|---|---|---|---|
|
#18+
MasterZivAnatoly Moskovskyпропущено... Это - она, а не он :) Ты -- великий ясновидящий ! Баба-Ванга? :) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 20.11.2013, 18:39:40 |
|
||
|
Выделить непрерывный(физически) участок памяти 1МБ - 1ГБ и отобразить его в user-space.
|
|||
|---|---|---|---|
|
#18+
Я так вижу, а кто там за анонимом скрывается - мне по барабану :) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 20.11.2013, 18:51:33 |
|
||
|
|

start [/forum/topic.php?fid=57&fpage=69&tid=2019855]: |
0ms |
get settings: |
9ms |
get forum list: |
12ms |
check forum access: |
2ms |
check topic access: |
2ms |
track hit: |
219ms |
get topic data: |
6ms |
get forum data: |
2ms |
get page messages: |
32ms |
get tp. blocked users: |
1ms |
| others: | 220ms |
| total: | 505ms |

| 0 / 0 |
