реклама на сайте
подробности

 
 
 
Reply to this topicStart new topic
> Доступ к кеш процессора
Славка
сообщение Jun 7 2010, 08:21
Сообщение #1


Участник
*

Группа: Участник
Сообщений: 65
Регистрация: 6-04-10
Пользователь №: 56 441



Где хранится стек переменных userspace проги?
Делаю программу которая ловит эзернет пакеты преобразует их и отправляет пока в другой порт эзернет (дальше будет стоять задача отправить их через TDM интерфейс). Использую libpcap... Делаю прозрачный канал между двумя разъемами эзернет. Просто заворот дает скорость 80 мбит. Для преобразований нужно выделить несколько буферов в памяти... Так вот если использовать malloc() то в лучшем случае получается выжать 22 мбит. Чем меньше буферов и, соответственно, операций копирования из памяти в память скорость выше. Попробовал использовать просто массивы из байтов (стек переменных) разницы нет. Сделал вывод, что стек лежит тож в оперативной памяти...
Подскажите плиз, как засунуть какой нить массив в кеш память и производить операции в ней? Ну или хотябы где и что искать?
Go to the top of the page
 
+Quote Post
romez777
сообщение Jun 10 2010, 04:57
Сообщение #2


Местный
***

Группа: Свой
Сообщений: 292
Регистрация: 9-11-04
Пользователь №: 1 077



Рискну предположить, что вашу задачу эффективнее решать на ядерном уровне, по крайней мере ядро предлагает функции kmem_cache_create, kmem_cache_alloc и kmem_cache_free.

PS. если не так понял ваш вопрос - просьба не закидывать помидорами )
Go to the top of the page
 
+Quote Post
Dima_G
сообщение Jun 10 2010, 05:05
Сообщение #3


Местный
***

Группа: Свой
Сообщений: 279
Регистрация: 2-07-08
Из: Новосибирск
Пользователь №: 38 699



Делал подобную систему (нужно было слегка модифицировать входящий трафик и роутить его) на базе этой статьи:
http://www.hackerdom.ru/team/articles/LinuxKernelFirewall

Рекомендую внимательно рассмотреть рисунок:
http://open-source.arkoon.net/kernel/kernel_net.png
Go to the top of the page
 
+Quote Post

Reply to this topicStart new topic
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0

 


RSS Текстовая версия Сейчас: 3rd August 2025 - 11:48
Рейтинг@Mail.ru


Страница сгенерированна за 0.01346 секунд с 7
ELECTRONIX ©2004-2016