Ник:
Пароль:

Контакты

E-mail: info@starterkit.ru
тел.: +7 922 680-21-73
тел.: +7 922 680-21-74
Телеграм: t.me/starterkit_ru

Способы оплаты

User Info


Добро пожаловать,
Guest

Регистрация или входРегистрация или вход
Потеряли пароль?Потеряли пароль?

Ник:
Пароль:

ПользователейПользователей:1
Поисковых ботовПоисковых ботов:3
ГостейГостей:1

ОбновитьПодробнееВсегоВсего:5
Форум » starterkit.ru » Отладочные платы » SK-AT91SAM9G45/M10
Использование SDRAM в Linux
sasamy
Добавлено 22.04.2011 22:01
0
Сообщение: 1
sasamy
4.71

Пункты: 83540
Регистрация: 14.08.2009
Озадачился - как можно использовать SDRAM и набрел на это

http://en.gentoo-wiki.com/wiki/Using_Graphics_Card_Memory_as_Swap

идея в том чтобы использовать эту память в качестве рамдиска и разместить там очень быстрый swap. у меня это выглядит так

modprobe phram phram=swap,0x20100000,31Mi
mkswap /dev/mtdblock0
swapon /dev/mtdblock0

Быстрый swap готов :) если у вас используется nand будьте внимательны с устройством, посмотреть какое это устройство можно через
#cat /proc/mtd
Спуститься к концу Подняться к началу
Персональная информация
Jury093
Добавлено 23.04.2011 15:11 Сообщение: 2
Jury093
4.5

Пункты: 54271
Регистрация: 25.05.2009
Пол: Мужчина
Из: Санкт-Петербург
а нет ли варианта заюзать память SDRAM в качестве обычной? там (AT9G45) ведь два сегмента 64Мб и 32Мб за вычетом буфера под экран..
а в конфиге ядра видел в разделе Kernel Feature->Memory Model(Flat Memory) и в хелпе "бу-бу-бу, неотчетливая возможность DISCONTIGMEM".. впрочем, может на АРМе такой фокус невозможен..

На любой вопрос есть любой ответ.
Спуститься к концу Подняться к началу
Персональная информация
sasamy
Добавлено 23.04.2011 15:17 Сообщение: 3
sasamy
4.71

Пункты: 83540
Регистрация: 14.08.2009
Теоретически возможно
http://blog.linuxconsulting.ro/2010/05/using-both-memory-controller-with.html
но у нас нюанс в том что банки по объему разные, а у атмелов они симметричные по 128 Мбайт.
Спуститься к концу Подняться к началу
Персональная информация
Jury093
Добавлено 23.04.2011 15:55 Сообщение: 4
Jury093
4.5

Пункты: 54271
Регистрация: 25.05.2009
Пол: Мужчина
Из: Санкт-Петербург
понятно. интереснее было бы включить поддержку (если она есть) в ядре и объяснить менеджеру памяти - где и сколько мозгов в его распоряжении..
ибо, мне такая форма свопа неудобна - уже есть своп на винчестер..

На любой вопрос есть любой ответ.
Спуститься к концу Подняться к началу
Персональная информация
sasamy
Добавлено 23.04.2011 16:05 Сообщение: 5
sasamy
4.71

Пункты: 83540
Регистрация: 14.08.2009
Цитата

мне такая форма свопа неудобна - уже есть своп на винчестер..


swap на винчестере во первых требует наличия винчестера а во вторых на порядок медленней работает.
Спуститься к концу Подняться к началу
Персональная информация
Jury093
Добавлено 23.04.2011 16:29 Сообщение: 6
Jury093
4.5

Пункты: 54271
Регистрация: 25.05.2009
Пол: Мужчина
Из: Санкт-Петербург
Цитата
swap на винчестере во первых требует наличия винчестера а во вторых на порядок медленней работает.

да, я собственно все понимаю и не возражаю - прокачка по ЮСБ и относительно медленный винт, думаю что не порядок а 2-3 порядка замедление. зато его можно раздуть до хоть до гига.. и присутствие свопа придает заметную живость под Иксами или сборке чего-нить на плате..
кремний безусловно быстрее, но его мало и не добавить доступным способом..
идея со свопом в СДРАМ хороша, спасибо.

На любой вопрос есть любой ответ.
Спуститься к концу Подняться к началу
Персональная информация
sasamy
Добавлено 23.04.2011 16:41 Сообщение: 7
sasamy
4.71

Пункты: 83540
Регистрация: 14.08.2009
Цитата

зато его можно раздуть до хоть до гига..


Тестировал на X + matchbox + midori (это полноценный веббраузер с джаваскриптом, открыл 3 вкладки с разными сайтами) - больше 5 мбайт своп не вырастал, и никакого падения производительности не заметил.
Спуститься к концу Подняться к началу
Персональная информация
Jury093
Добавлено 05.11.2011 20:49 Сообщение: 8
Jury093
4.5

Пункты: 54271
Регистрация: 25.05.2009
Пол: Мужчина
Из: Санкт-Петербург
встряхну ка полезную тему..
провел экспресс-изыскания на тему "как прописать два(+) банка ОЗУ в ядре", результат:
- да, такая проблема у пипла возникает
- да, банки бывают симметричные по объему и не очень
- да, в ядре такая возможность есть (была и раньше, но через жопу)
- да, на текущий момент задача визуально решена (кит 9g45 - 64{DDR}+32{SDRAM})
- нет, результат пока не гарантирован к широкому внедрению, ибо не понятна суть решения =)

отталкивался от содержимого файла board-mahimahi.c и линка тыц
после невнятных манипуляций вижу в логе загрузки:
Код
Linux version 2.6.36-rc6 (user@debian) (gcc version 4.2.0 20070413 (prerelease) (CodeSourcery Sourcery G++ Lite 2007q1-10)) #394 PREEMPT Sat Nov 5 21:48:04 EDT 2011
CPU: ARM926EJ-S [41069265] revision 5 (ARMv5TEJ), cr=00053177
CPU: VIVT data cache, VIVT instruction cache
Machine: SK-MAT91SAM9G45
Ignoring unrecognised tag 0x00000000
Ignoring unrecognised tag 0x54410009
Memory policy: ECC disabled, Data cache writeback
Clocks: CPU 400 MHz, master 133 MHz, main 12.000 MHz
On node 0 totalpages: 24576
Normal zone: 2688 pages used for memmap
Normal zone: 0 pages reserved
Normal zone: 21888 pages, LIFO batch:3
Built 1 zonelists in Zone order, mobility grouping on. Total pages: 21888
Kernel command line: console=ttyS0,115200 rootwait root=/dev/sda2 memmap=32M@0x20000000
PID hash table entries: 512 (order: -1, 2048 bytes)
Dentry cache hash table entries: 16384 (order: 4, 65536 bytes)
Inode-cache hash table entries: 8192 (order: 3, 32768 bytes)
Memory: 32MB 64MB = 96MB total
Memory: 91948k/91948k available, 6356k reserved, 0K highmem
Virtual kernel memory layout:
vector : 0xffff0000 - 0xffff1000 ( 4 kB)
fixmap : 0xfff00000 - 0xfffe0000 ( 896 kB)
DMA : 0xffa00000 - 0xffe00000 ( 4 MB)
vmalloc : 0xd0800000 - 0xfee00000 ( 742 MB)
lowmem : 0xc0000000 - 0xd0000000 ( 256 MB)
modules : 0xbf000000 - 0xc0000000 ( 16 MB)
.init : 0xc0008000 - 0xc002b000 ( 140 kB)
.text : 0xc002b000 - 0xc0471000 (4376 kB)
.data : 0xc048e000 - 0xc04b3340 ( 149 kB)

видел упоминания, что в ядре 3.хх все заметно проще..
для теста запускал Иксы, там браузер и ходил на starterkit.ru, все работает и показывает :)
в этот момент сделал скриншот терминалки:
title
если тема интересна, то могу попробовать выложить модифицированные файлы.. патча не будет - ядро и так замученно и запиленно :D
ЗЫ фреймбуфер перенесен в общее пространство

На любой вопрос есть любой ответ.
Спуститься к концу Подняться к началу
Персональная информация
alexanib
Добавлено 12.11.2011 22:54 Сообщение: 9
alexanib
1

Пункты: 2343
Регистрация: 27.02.2011
Да, тема интересна. По крайней мере мне
Спуститься к концу Подняться к началу
Персональная информация
lexx666
Добавлено 27.08.2012 10:55 Редактировалось 27.08.2012 10:55 Сообщение: 10
lexx666
3.83

Пункты: 11780
Регистрация: 28.07.2011
Пол: Мужчина
Из: Барнаул
Цитата
modprobe phram phram=swap,0x20100000,31Mi

А как заюзать данную полезную фитчу без модуля phram ?
Т.е. собрав ядро с данной фишкой, никто случайно не подскажет ?
Спуститься к концу Подняться к началу
Персональная информация
Форум » starterkit.ru » Отладочные платы » SK-AT91SAM9G45/M10