Article View: es.comp.os.linux.programacion
Article #14091Re: cache: necesito leer los fallos de caché en ensamblador
From: markohs
Date: Sun, 10 Dec 2000 01:08
Date: Sun, 10 Dec 2000 01:08
71 lines
4107 bytes
4107 bytes
Hombre, yo hice hace un a�o una asignatura de Sistemas Operativos en la que tocabamos el kernel de linux. En mi caso tenia que almacenar en la estructura administrativa de cada proceso (task_struct) informacion sobre en que procesador fisico estaba corriendo (era SMP). Luego la informacion la puedes pasar a modo usuario para tratarla de dos modos basicamente: 1) A traves del /proc, con algun fichero nuevo o a�adiendo info a alguno existente 2) A�adiendo un dispositivo de bloque al sistema, y extraerlo todo a partir de un fichero /dev que te crees t�. Lo mas normal es que metas todo tu codigo que ha de correr en modo sistema en un modulo e ir cargando/descargando el modulo cada vez que hagas modificaciones en el codigo. Basicamente: - Si quieres a�adir codigo en la inicializaci�n del sistema para inicializar tus datos internos deberias ir por el kernel/init.c (si no recuerdo mal, lo digo todo de memoria, estoy en Windows ahora) - En sched(), esta el codigo que hace la multiplexacion de procesos, Si quieres llevar una estadistica por proceso te ser� interesante, tambien te interesar� kernel/fork.c para inicializar las estadisticas de un proceso. - Si quieres tratar las excapciones de fallo de cach� o de pagina deberias ir a arch/i386/... �kernel? (no recuerdo, es una lastima estar en Win ahora) - Si quieres hacer un modulo tienes que hacer ciertos includes y definir ciertas constantes de C para los includes. - Para registrar un dispositivo tienes register_chrdev() en alguna parte del codigo, no recuerdo donde... 8), deber implementr las llamadas que tee interesen... (open(), read()... ) para "escupir" tus datos a modo usuario y recogerlos para tratarlos. Tambien debes hacer la gesti�n de uso de modulo, para no dejar estructuras colgadas al quitar/poner el modulo. - Perparate para frecuentes "kernel panic" 8) Que haya suerte, me dejo alguna cosa en el tintero, pero te he escrito esto rapido por si te puede servir de algo. Si necesitas algo de mi escribeme 8) Qua vaya bien 8) On Sun, 03 Dec 2000 09:47:33 GMT, tito <radiotito@yahoo.com> wrote: >Hola a tod@s. >Necesito hacer un programa que lea los fallos de cach� en un procesador >Pentium II en Linux. Tengo que usar las instrucciones RDPMC,RDMSR,WRMSR >del Pentium II. Lo que pasa es que no puedo usar todas estas >instrucciones en modo usuario pues necesitan estar en modo kernel para >ejecutarse. Podr�a modificar el kernel y recompilarlo para insertar en >el arranque del kernel mis instrucciones que deben ejecutarse en modo >kernel y luego llamarlas de alguna forma en mi aplicaci�n. Pero me >parece que tambi�n podr�a hacerse mediante un dispositivo(lo que pasa es >que no tengo experiencia en la programaci�n de dispositivos); e incluso >he visto alguna biblioteca en Internet (con el c�digo fuente por >suspuesto ;-)) que permite configurar unos contadores de rendimiento >(perfmon, etc...) y no se si podr�a usarse para contar los fallos de >cach�. �Alguien me podr�a ayudar un poco? > >Gracias . >Tito >
Technical Details
Message-ID:
<3a32d331.7121757@news.teleline.es>Path:
arc1-ca.pugleaf.net!supernews.google.com!sn-xit-02!supernews.com!isdnet!195.25.12.36.MISMATCH!oleane.net!oleane!fr.usenet-edu.net!usenet-edu.net!fu-berlin.de!newsfeed.bcn.ttd.net!newsfeed.mad.ttd.net!telenews.teleline.es!not-for-mailReferences:
<3A2A169A.4B8FEF@yahoo.com>Show Full Headers
Complete Article Headers
X-Google-Language: SPANISH,ASCII X-Google-Thread: f86c8,32cdeeb498d77855 X-Google-Attributes: gidf86c8,public X-Google-ArrivalTime: 2000-12-09 17:04:33 PST Path: arc1-ca.pugleaf.net!supernews.google.com!sn-xit-02!supernews.com!isdnet!195.25.12.36.MISMATCH!oleane.net!oleane!fr.usenet-edu.net!usenet-edu.net!fu-berlin.de!newsfeed.bcn.ttd.net!newsfeed.mad.ttd.net!telenews.teleline.es!not-for-mail From: markohs@teleline.es Newsgroups: es.comp.os.linux.programacion Subject: Re: cache: necesito leer los fallos de caché en ensamblador Message-ID: <3a32d331.7121757@news.teleline.es> References: <3A2A169A.4B8FEF@yahoo.com> X-Newsreader: Forte Free Agent 1.21/32.243 Lines: 72 Date: Sun, 10 Dec 2000 01:08:18 GMT NNTP-Posting-Host: 212.170.19.213 X-Complaints-To: usenet@teleline.es X-Trace: telenews.teleline.es 976410498 212.170.19.213 (Sun, 10 Dec 2000 02:08:18 MET) NNTP-Posting-Date: Sun, 10 Dec 2000 02:08:18 MET Organization: Clientes_Teleline