🚀 go-pugleaf

RetroBBS NetNews Server

Inspired by RockSolid Light RIP Retro Guy

Article View: es.comp.os.linux.programacion
Article #14091

Re: cache: necesito leer los fallos de caché en ensamblador

#14091
From: markohs
Date: Sun, 10 Dec 2000 01:08
71 lines
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-mail
References: <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