View previous topic :: View next topic |
Author |
Message |
the incredible hurd Guru
Joined: 01 Jan 2007 Posts: 381
|
Posted: Fri May 02, 2008 4:24 pm Post subject: [hardware] VRAM como SWAP (abierto) |
|
|
Hace poco, Don Inodoro_Pereyra comentaba en otro hilo este artículo que tradujo Don Stolz: Como usar la memoria de video como memoria SWAP, partiendo de TIP Use memory on video card as swap.
Tengo un runlevel en modo framebuffer con nvidiafb únicamente; en el que no puedo iniciar las X sin openGL (cairo sin poder usar glitz lo confirma); ni quiero iniciarlas... dado que lo dejo para compilaciones pesadas como openoffice o actualizaciones de gnome, por poner un ejemplo.
La cuestión es que hago todos los modprobe(s) y no muestra ningún error... pero un
muestra sólo:
dev: size erasesize name
Sin ningún dispositivo. He seguido todos los consejos del Troubleshooting en Gentoo wiki, incluso he creado los nodos a mano, pero me indica que no existe la dirección o el dispositivo al tratar de hacerle un mkswap.
Básicamente, mi problema creo que reside en Calculando el rango a usar del artículo de Don Stolz wrote: | y la memoria que tenía reservada el driver de vídeo era de 4MBytes. Para poder sumar ambos valores hay que pasar 4MBytes a bytes y expresarlo en hexadecimal:
En decimal: 4*1024*1024 = 4194304
En hexadecimal: 0x400000 | lo cual se contradice un poco con lo de los 8M de
Stolz wrote: | (2)Como de los 256M de memoria de vídeo disponibles en la "Region 1" 8M ya está reservados para el driver de vídeo, los restantes 252M son el tamaño de nuestro rango. Para indicar el tamaño del rango no es necesario hacer cálculos, simplemete añadiremos Mi al final. |
Básicamente tenía entendido que para calcular la memoria VRAM determinada para una resolución en concreto se hacía con:
(resolución horizontal * resolución vertical * Profundidad del pixel)/8
En mi caso, con el nvidiafb tengo 1024x768@16 (lo considero más que suficiente).
Por lo que obtengo (1024*768*16)/8=1572864
Es decir, con dos megas debería tener suficiente y los restantes 62Mb de esta tarjeta deberían poder ser usados como swap sin el más mínimo problema, he probado con 60Mb y haciendo el modprobe quitándole 4Mb, pero tampoco, así como con un modprobe phram sin parámetros, pero no muestra ningún error, ni dmesg muestra nada raro y no sé cómo lograr tener la swap más rápida posible cuando más la necesito...
Cualquier idea o sugerencia es bienvenida. _________________ Nunca preguntes el camino a alguien que ya lo conoce. Podrías no perderte. (Nahman de Braslaw) |
|
Back to top |
|
|
Inodoro_Pereyra Advocate
Joined: 03 Nov 2006 Posts: 2631 Location: En la otra punta del cable
|
Posted: Fri May 02, 2008 7:38 pm Post subject: |
|
|
jeje, yo también estoy a medias, no he podido terminar de poner a funcionar la swap para ver si la mejora en notable realmente o no. En particular, puedo formatear el dispositivo pero no le puedo hacer swapon (ni montarlo, ni nada...) Parecido a tu problema pero creo que estoy un paso mas adelante... No me hizo falta mas que seguir la guía al pie de la letra para que aparezca el dispositivo así que no sabría que decirte respecto a tu problema...
Cuando tenga un tiempito de nuevo y ganas voy a retomar la cosa a ver como me va.
Salud! _________________ Mi Blog.
Si no fuera por C, estaríamos escribiendo programas en BASI, PASAL y OBOL. |
|
Back to top |
|
|
Stolz Moderator
Joined: 19 Oct 2003 Posts: 3028 Location: Hong Kong
|
Posted: Sat May 03, 2008 3:13 am Post subject: |
|
|
@the incredible hurd
Tus cálculos son correctos, que no te confunda lo de los 8MB. Hice la guía para 4MB pero las pruebas realmente las hice reservando 8MB para el vídeo. Al plasmar las instrucciones me traicionó el sueño, ahora lo corrijo. En cuanto a tu problema, ni idea de cual puede ser el fallo. Según el artículo original debería solucionarse creando los nodos a mano, pero no es así. Lo malo es que es un error mudo, no dice cual es el fallo, por lo que no se me ocurre por dónde investigar. Puedes probar con el otro driver "Uncached system RAM" (slram) a ver si al menos tiene algo más de verborrea.
@Inodoro_Pereyra
¿has probado a ajustar en la BIOS el tamaño de apertura de AGP ("AGP Aperture Size")? Debe tener un valor al menos igual al tamaño de tu memoria de vídeo. |
|
Back to top |
|
|
Inodoro_Pereyra Advocate
Joined: 03 Nov 2006 Posts: 2631 Location: En la otra punta del cable
|
Posted: Sat May 03, 2008 3:27 am Post subject: |
|
|
Stolz wrote: | @Inodoro_Pereyra
¿has probado a ajustar en la BIOS el tamaño de apertura de AGP ("AGP Aperture Size")? Debe tener un valor al menos igual al tamaño de tu memoria de vídeo. |
Sinceramente, en este momento no recuerdo, al próximo reinicio entro el la BIOS y reviso... Se agradece el dato.
Salud! _________________ Mi Blog.
Si no fuera por C, estaríamos escribiendo programas en BASI, PASAL y OBOL. |
|
Back to top |
|
|
the incredible hurd Guru
Joined: 01 Jan 2007 Posts: 381
|
Posted: Sat May 03, 2008 1:29 pm Post subject: |
|
|
Eliminé la opción del kernel
< > Caching block device access to MTD devices (NEW)
y tanto phram como slram son ahora más explícitos en dmesg
phram
allocation failed: out of vmalloc space - use vmalloc=<size> to increase size.
phram: ioremap failed
slram
slram: devname=VRAM, devstart=0xe8200000, devlength=0x7c00000
allocation failed: out of vmalloc space - use vmalloc=<size> to increase size.
slram: ioremap failed
Esta máquina i686 tiene:
High Memory Support (4GB) --->
[*] Allocate 3rd-level pagetables from highmem
1Gb de RAM.
He buscado el mensaje out of vmalloc space y creo que no me quedan muchas esperanzas... No sé cómo resolverlo.
Edito: en slram devlength es 0x7c00000 porque era el que ponía en el wiki, para 128Mb, como no dice como se calcula y todos mis intentos por pasarlo a un valor comprensible (como 128Mb en bytes y en decimal) no han dado resultado, por lo que copy/paste
Edito 0.1: Además, he estado buscando como limitar el uso de memoria con nvidiafb y por el momento no he visto como hacerlo en /usr/src/linux/drivers/video/nvidia Ya le dedicaré más tiempo... ¿podría ser esa la causa? que nvidiafb se quede con toda la memoria de la gráfica... nvidiafb tiene copyright de nvidia corporation, y con uvesafb ni se me ha ocurrido buscar esa opción. _________________ Nunca preguntes el camino a alguien que ya lo conoce. Podrías no perderte. (Nahman de Braslaw) |
|
Back to top |
|
|
Inodoro_Pereyra Advocate
Joined: 03 Nov 2006 Posts: 2631 Location: En la otra punta del cable
|
Posted: Sun May 04, 2008 1:13 am Post subject: |
|
|
Podría ser no? Yo me leí todo el manual que viene con el driver de nVidia (y es bastante largo) pero no pude encontrar como limitar la cantidad de memoria al cargar el driver en X y terminé como sugiere la guía por rescindir aceleración 3D y cargar vesa, me imagino que con nvidiafb puede llegar a pasar lo mismo...
Salud! _________________ Mi Blog.
Si no fuera por C, estaríamos escribiendo programas en BASI, PASAL y OBOL. |
|
Back to top |
|
|
|
|
You cannot post new topics in this forum You cannot reply to topics in this forum You cannot edit your posts in this forum You cannot delete your posts in this forum You cannot vote in polls in this forum
|
|