PDA

Ver la versión completa : Calcular mejoras en kernel de Linux



Malenko
25/09/2004, 11:56
Hola,

estoy haciendo un estudio del núcleo de Linux en sistemas embedded para poder hacerlo más chiquitin (de momento solo la parte destinada a la gestión de usuarios). Quería obtener algunos restultados numéricos probando en la GP. Supongo que antes que nada tengo que bajarme el núcleo 2.4.13 (creo que es la versión sobre la que trabajan los parches) instalarle los parches y ya está. Hay alguna manera de poder calcular el tiempo que tarda en ejecutarse una determinada parte del código en la GP? Como lo podría hacer teniendo en cuenta que se trata del tiempo de funciones del kernel. Básicamente es para, aparte de obtener un tamaño en espacio, también sería interesante ver en cuanto reduce/aumenta el tiempo de ejecución. Había pensado en comprovar los ticks (jiffies, no?) que pasa entre una parte del código y otra y luego mirar de leer la constante mediante una llamada a sistema nueva que me haga. Alguna sugerencia? Como lo hariais vosotros? Ahora mismo no tengo a mano los resultados en espacio obtenidos en PC, pero se reducia bastante el código.

Merci!

Aiken
25/09/2004, 12:23
pues la unica forma que se me ocurre, aunque es muy cutre es la que dices tu, contar los ticks con la funciona GetTicksCount() o algo asi.

lo que pasa es que si ya es cutre para medir un pograma normal, para medir un kernel me parece todavia mas cutre, pero mis conocimientos no dan para mas. :D :D


Aiken

Nuak
25/09/2004, 17:16
Uff pides mucho... Tendrás que meterle mano al código fuente del kernel, y eso puede resultar una tarea muuuuy tediosa. Sobre como hacerlo, es posible hacerlo como dices, controlando el tiempo que pasa entre dos posiciones de código, y consultándolo con una llamada al sistema.

Un poco complicado...

ingeras
25/09/2004, 17:52
well if someone can translate and send me a mail when there are questions/ news for me
... thank you :)

http://www.gp32linux.com/images/screens/nanoscr1.jpg
http://www.gp32linux.com/images/screens/nanoscr3.jpg

Segata Sanshiro
25/09/2004, 19:27
I'd translate it but I have no idea about Linux lol

Nuak
25/09/2004, 19:48
Hi,

i'm making a linux kernel study on embebbed systems to make it smaller (at the moment, only the user management stuff). I want to get some numeric results trying it on al GP32. I suppose that before that, i have to download 2.4.13 linux kernel (i think it's the latest version where i can apply the patches), install the patches and it's done. Is there any way to calculate the time that a particular code needs to run in the GP32? How could it be done if it is all about kernel functions?

...Falta por traducir pero ya me he cansao...

Malenko
26/09/2004, 01:35
Ya se que se ha de tocar código del núcleo pero eso no me preocupa ya que para realizar el estudio me he tenido que chupar todo el código de Linux y realizar modificaciones en él. Como prometí añado unos pocos datos númericos al tema. La idea es obtener un código lo más reducido posible para que ocupe menos memoria y contenga lo mínimo imprescindible. El estudio lo he realizado (de momento) en un PC y con la versión del kernel 2.4.18. El tamaño mínimo de un núcleo que arrancaba, realizado mediante las opciones del make de Linux daba 739646 bytes, mientras que tras realizar unas modificaciones lo bajaba hasta 732990. Puede parecer poco los 7000 bytes, pero solo es código de usuario, así que quitando parte de drivers,etc. se podría quitar más aún.

Intentaré poner algo en Inglés para Ingeras.

Grácias a todos otra vez.