커널상에 모듈이 lock 를 사용할때 어떤 모듈이 어떤 lock 를 잡고 있는지 알 수 있나요??
글쓴이: 뚱곰이 / 작성시간: 월, 2007/11/12 - 9:19오후
질문을 짧게 쓸려다 보니 이상한 의미 같기도 하네요
^&^
모듈 관련 공부를 하고 있습니다.
mutex_lock(&suein) 을 사용하는 모듈을 커널 내에 삽입하고 나서
이 mutex_lock(&suein) 를 어떤 모듈에서 잡고 있는지 알 수있는 방법이
있는가 해서요
제가 지금껏 알게 된건 mutex 는 지역적으로 관리가 되고 있고 모듈 리스트도
2.6 부터는 지역적으로 기억되지만 찾는 함수들이 있다는 것입니다.
이 둘의 연관성을 찾기 위해 구조체를 이래 저래 찾아 봤지만
내공이 부족한지라 모내기 하듯이 printk 한게 전부가 되었네요
전역 구조체로 둘을 빼는 방법을 구상했지만 둘의 연관성을 찾기가 힘들더군요
답변 부탁 드립니다.
그럼 좋은 하루 행복한 하루 보내세요
Forums:
커널에 무지하긴 합니다만
커널에 대해 아는게 없긴 합니다만
질문을 보니 문득 궁금한게 생겨서...
mutex_lock(&suein) 이게 어떤 lock인지는 모르겠지만
그걸 어떤 모듈이 잡고 있는지 어느 순간에 알았다고 치더라도
다음 순간 그 모듈이 계속 그걸 잡고 있으리라는 보장이 있을까요?
그러면 어차피 알아내도 별 소용 없는 건 아닐런지요.
CONFIG_DEBUG_MUTEXES
Kernel을 컴파일하실때, CONFIG_DEBUG_MUTEXES 옵션을 셋팅하면 더 많은 정보를 얻을 수 있습니다.
커널 소스를 보시면, 관련 함수를 부를때 마다, printk를 부르는 군요.
http://lxr.linux.no/source/kernel/mutex-debug.c
혹시 좀더 나은 방법이 있는지 저도 궁금하네요.
Linux rules!!!
Linux rules!!!
댓글 달기