Re[6]: Linux. Драйвер. Память.
От: unkn2000  
Дата: 23.12.03 13:09
Оценка:
Здравствуйте, vitka, Вы писали:

V>Хмм... Ну вообще-то инициализация в теле mmap хука не есть good. Что дальше делает ядро с vma_struct с ходу не могу сказать. Хотя надо как-нть в этом покопаться. Я делаю всю инициализацию уже после всего, регистрируя некий ioctl.

V>int fd = open( ... );
V>char* ubuf = ( char* ) mmap( ... );
V>...
V>unsigned int junk;
V>int rc = ioctl( fd, INIT_CMD, &junk );
V>for(i = 0; i < 256; i++) fprintf( stderr, "%d ", ubuf[ i ] );

Я попробовал так сделать, но, к сожалению, на результат это не повлияло.
Код не привожу, т.к. он от первоначального варианта отличается только тем, что цикл инициализации вынесен в функцию ioctl .
Не мог ли бы вы показать пример своего работающего кода с реализацией этой идеи?
Чувствую, что идея верная, но видно где-то я что-то упускаю.
Слышал я так же про флаги VM_RESERVED или VM_LOCKED, которые надо устанавливать, что бы страницы не выгружались.
Можете написать, что-нибудь об этом?
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.