기존 이솝 임베디드 포럼의 지식인 서비스가 게시판 형태로 변경되었습니다.

저희가 개발하는 시스템에서 mutex관련 function을 기본 kernel에서 제공하는 function에서
Chip vendor가 recommend하는 chip vendor가 정의한 function으로 변경을 했더니 scheduler내에서
아래의 부분에서 BUG message를 보내면서 stack을 dump하고 kernel panic이 발생했습니다.

asmlinkage void __sched schedule(void)
{
   ....
   if (unlikely(in_atomic() && !current->exit_state)) {
        printk(KERN_ERR "BUG: scheduling while atomic: "
               "%s/0x%08x/%dn",
        current->comm, preempt_count(), current->pid);
        dump_stack();
  }
   ......
 } /*end of schedule function*/

어떤 부분을 주의깊게 디버깅 해 보아야 할 지??
조언 부탁드립니다.

고현철

2009.03.18 01:00:44
*.32.117.22

변경된 function이 kernel 안에 있는 함수인가요?

아니면?

이현배

2009.03.18 02:56:14
*.94.41.89

변경된 function은 kernel 안에 있지는 않고. chipset사의 driver driectory에 별도로 interface를 만들어 두었습니다.
Broadcom의 MIPS 계열 chipset이고, bkni.c라는 파일로 존재합니다.

박성우

2009.03.18 06:45:13
*.239.163.192

제 경험으로는 인터럽트 핸들러나 기타 scheduling이 일어나지 않아야할 상황에서 scheduling이 일어난 경우 발생했었습니다.
mutex와 관련하여 발생하였더니 그것과 연관된 것 같은데요.
그때 찾아본 결과 인터럽트 핸들러, Softirq, Tasklet 에서는 스케쥴링이 일어나면 안되었던 것 같은데요.
저는 문제가 된 부분을 workqueue로 빼서 처리했더니 해결되었습니다.
workqueue는 process context여서 scheduling되어도 괜찮다고 하더군요.
자세한 내용은 Robert Love의 "Linux Kernel Development"  7장을 참조하세요.
List of Articles
번호 제목 글쓴이 날짜 조회 수
408 LM480KF01용 FPC 커넥터 & 스테레오잭 커넥터.. [2] just4you 2009-03-26 1185
407 GStreamer관련 질문드립니다. 정장석 2009-03-26 1303
406 카메라 I/F 신호 레벨 관련.. [4] just4you 2009-03-26 989
405 u-boot소스에서 pxa255용 PCMCIA카드를 사용할려면? [2] 한석준 2009-03-25 1057
404 VirtualBox로 부팅하면 "HostMemoryLow" 에러만 납니다.. [1] just4you 2009-03-25 1239
403 LCD Backlight용 LED Driver 선택 중에... [4] just4you 2009-03-24 984
402 카메라 모듈 업체좀 알려주세요.. [1] just4you 2009-03-24 890
401 mkimage 옵션 중 -O(os type 선택) 파라메터 설정 문제. [2] 한석준 2009-03-20 1333
» scheduler에서 아래의 BUG message는 어떤 상황에서 발생하나요? [3] 이현배 2009-03-17 1154
399 ARM 프로세서와 Peripheral 디바이스연결시 GPIO설정 방법 문의 [2] 한석준 2009-03-16 1327
398 ARM에서 modified virtual address와 process id가 왜 필요할 까요... [3] 이종진 2009-03-16 1872
397 LAN91C111 칩 메뉴얼의 Reset 부분에 관한 문의 [3] 한석준 2009-03-14 1394
396 ARM 보드 구입을 생각하고 있습니다만... [2] 안병희 2009-03-12 1051
395 U-boot상에서 Ping 테스트 에러(LAN91C111 이더넷 드라이브 사용) [2] 한석준 2009-03-11 2612
394 LAN91C111 이더넷 드라이버 핀과 GPIO 설정 문의 [4] 한석준 2009-03-10 1565
393 ssh와 serial terminal에서 busybox또는 signal등의 동작이 다른지요? [7] 이현배 2009-03-04 2231
392 cygwin을 사용하여 u-boot 컴파일 가능? [2] 한석준 2009-03-03 2648
391 driver install 관련 질문 [4] 최영진 2009-02-27 1125
390 로컬 스택 영역 수정 가능한가요? [6] 한석준 2009-02-26 1289
389 fpu가 들어있는 arm 은 어떤것이 있을까요? [4] 성진호 2009-02-26 1846

사용자 로그인