LINUX.ORG.RU

VRAM DISK || SWAP

 geforce4, , , ,


0

1

Есть дряхлый ноут 20-летней+ давности. Как ноут он нынче не пригоден и давно юзается для всяких нехитрых нужд в качестве микросервачка(батарея сдохла, экран почти).
Собственно, видяха там в принципе не нужна и висит мёртвым грузом. Но, на ней безхозные аж 32МБ бездельничают. Не то, чтобы это сделает погоду, но просто, чтобы былО.
С современными видимокартами всё примерно понятно, через OpenCL в принципе вполне работает тот же vramfs.
Но тут GeForce4 440 Go.
Сделал через MTD (phram и mtdblock). Всё вроде как работает, и своп туда можно, и ФС вкорячить(только я не придумал, для чего может пригодиться такой маленький рам-диск). Глюков пока не заметил.
Но скорость на этот девайс получается ≈25MB/s запись и 4MB/s чтение. Чо так медленно тооо? У меня когда-то на i486dx2-66 с cirrus logic(VLB) видяхой примерно такая скорость была.

Выхлоп lspci -vvvv -s 0000:00:10.0

0000:00:10.0 VGA compatible controller: NVIDIA Corporation NV17M [GeForce4 440 Go 64M] (rev a3) (prog-if 00 [VGA controller])
        Subsystem: NVIDIA Corporation NV17M [GeForce4 440 Go 64M]
        Device tree node: /sys/firmware/devicetree/base/pci@f0000000/NVDA,Parent@10
        Control: I/O- Mem+ BusMaster+ SpecCycle- MemWINV- VGASnoop- ParErr- Stepping- SERR- FastB2B- DisINTx-
        Status: Cap+ 66MHz+ UDF- FastB2B+ ParErr- DEVSEL=medium >TAbort- <TAbort- <MAbort- >SERR- <PERR- INTx-
        Latency: 248 (1250ns min, 250ns max)
        Interrupt: pin A routed to IRQ 48
        Region 0: Memory at 91000000 (32-bit, non-prefetchable) [size=16M]
        Region 1: Memory at 94000000 (32-bit, prefetchable) [size=64M]  <<< вот тут искомая память
        Region 2: Memory at f1000000 (32-bit, prefetchable) [size=512K]
        Expansion ROM at 90000000 [disabled] [size=128K]
        Capabilities: [60] Power Management version 2
                Flags: PMEClk- DSI- D1- D2- AuxCurrent=0mA PME(D0-,D1-,D2-,D3hot-,D3cold-)
                Status: D0 NoSoftRst- PME-Enable- DSel=0 DScale=0 PME-
        Capabilities: [44] AGP version 2.0
                Status: RQ=32 Iso- ArqSz=0 Cal=0 SBA- ITACoh- GART64- HTrans- 64bit- FW+ AGP3- Rate=x1,x2,x4
                Command: RQ=1 ArqSz=0 Cal=0 SBA- AGP- GART64- 64bit- FW- Rate=<none>
        Kernel driver in use: nouveau
        Kernel modules: nouveau


Выхлоп модуля nouveau в dmesg:
nouveau 0000:00:10.0: NVIDIA NV17 (017900a5)
nouveau 0000:00:10.0: bios: version 04.17.00.55.00
....
nouveau 0000:00:10.0: tmr: unknown input clock freq
nouveau 0000:00:10.0: fb: 32 MiB DDR1
[TTM] Zone  kernel: Available graphics memory: 381098 KiB
[TTM] Zone highmem: Available graphics memory: 577706 KiB
[TTM] Initializing pool allocator
nouveau 0000:00:10.0: DRM: VRAM: 31 MiB
nouveau 0000:00:10.0: DRM: GART: 128 MiB
nouveau 0000:00:10.0: DRM: BMP version 5.21
nouveau 0000:00:10.0: DRM: DCB version 2.0
nouveau 0000:00:10.0: DRM: DCB outp 00: 04000223 00000004
nouveau 0000:00:10.0: DRM: DCB outp 01: 02010100 11b04fb0
nouveau 0000:00:10.0: DRM: DCB outp 02: 02010101 11b00703
nouveau 0000:00:10.0: DRM: Loading NV17 power sequencing microcode
nouveau 0000:00:10.0: DRM: BIOS FP mode: 1280x1024 (108000kHz pixel clock)
nouveau 0000:00:10.0: DRM: MM: using M2MF for buffer copies
nouveau 0000:00:10.0: DRM: Calling LVDS script 1:
nouveau 0000:00:10.0: DRM: Calling LVDS script 6:
nouveau 0000:00:10.0: DRM: 0x1306: Parsing digital output script table
nouveau 0000:00:10.0: DRM: Setting dpms mode 3 on TV encoder (output 2)
nouveau 0000:00:10.0: DRM: allocated 1024x768 fb: 0x9000, bo 5262237e
nouveau 0000:00:10.0: DRM: Calling LVDS script 2:
nouveau 0000:00:10.0: DRM: 0x1072: Parsing digital output script table
nouveau 0000:00:10.0: DRM: Calling LVDS script 5:
nouveau 0000:00:10.0: DRM: 0x1109: Parsing digital output script table
Console: switching to colour frame buffer device 128x48
nouveau 0000:00:10.0: [drm] fb0: nouveaudrmfb frame buffer device

Пробовал nouveau загружать / не загружать, разницы нет.

Ну и, чтоб два раза не вставать. Если решится проблема со скоростью, есть ли варианты организовать как-то умно маленький быстрый своп + большой на иде-диске? Т.е., не просто приоритеты им задать, а чтоб... ну хз, что умно как-то учитывалась такая связка) Понятно, что эти трицоть мегов ни о чём, но просто.

★★★★★

Ничего не подскажу по теме, но лойс за JFF.

anonymous
()

потому что память видяхи мапится процессору как uncached?

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

anonymous
()
Ответ на: комментарий от anonymous

потому что память видяхи мапится процессору как uncached?

И что с этим можно сделать?
Всё равно ведь слишком медленно. Подозреваю, что как-то AGP надо пнуть, чтобы в нужный режим переключилась.

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

Какие посоветуешь?

madcore ★★★★★
() автор топика
Последнее исправление: madcore (всего исправлений: 1)
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.