2010-11-28 17 views
2

J'écris une mission (donc je suis sous beaucoup de pression, hehe) et j'ai un endroit particulier où mon projet déréférencement NULL.Puis-je imprimer, lors d'une panique du noyau, quels sont les verrous détenus lorsque le système plante?

Les détails sont les suivants: il s'agit d'un appel système qui parcourt les entrées de la table de pages de ce processus et les rapports auxquels on a accédé depuis la dernière connexion de l'appel. Veuillez ne pas donner de suggestions sur le problème lui-même, car je ne veux pas enfreindre les règles d'honnêteté académique.

Cependant, il semble que l'exécution de l'appel système soit préemptée, et que quelque chose entre et vienne avec les structures que j'utilise. La chose exaspérante est que je ne peux pas comprendre quoi. Par conséquent, je veux que la panique me dise quels spinlocks/sémaphores, etc. sont détenus au moment de la panique. Cela me donnerait un indice sur ce qui se passe.

Répondre

3

Si vous construisez votre noyau avec CONFIG_LOCKDEP activé, vous devriez pouvoir vider tous les verrous avec alt-sysrq-D. Voir drivers/tty/sysrq.c.