안녕하세요!!

그동안 눈팅만 하다가 처음으로 질문을 올려봅니다.

가상화는 시작한지 한 2주정도 되는것 같습니다.

 

사용환경

1. Hypervisor 및 Dom0 : XenServer 6.2(이제 완전히 오픈소스화 되었다고 합니다.)

2. GuestOS : FC12 + 2.6.35 대 커널버전 사용

3. GuestOS 종류는 다음과 같이 분류되고 있는 것으로 알고 있습니다.

   1) PV : Xen 이 최초 제안한 반가상화 모델

   2) HVM : Intel 및 AMD 에서 CPU 에서 가상화 기술을 지원함으로써 Xen 전가상화 지원하는 모델

   3) PV on HVM : 전가상화에서 성능을 높이기 위해서 PV 기능 지원(어느 시점 이후의 배포판 및 리눅스 커널버전 이상에서 지원)

                          2.6.35 대 커널버전에서 지원하지 않음

 

4. 질문

간략히 요약하면, 네트워크 성능이 너무 좋지 않아서 알아본 결과 netfront 드라이버를 올려야 된다는 것을

파악하고(기본으로 realtek 8139 드라이버가 올라가는데, 성능이 무지 안좋네요 ㅋ) make menuconfig 를

통해서 XEN 설정을 활성화 시킨 이후에 GusetOS 로 설치하였으나, 여전히 realtek 8139 드라이버가 올라가고

netfront 드라이버가 로딩되지 않네요.

간단히 분석 결과, xet-netfront.c 의 netif_init 함수에서

    if (!xen_domain())
        return -ENODEV;

에서 리턴이 됩니다. 즉, xen_domain_type 이라는 변수값이 XEN_NATIVE 이기 때문에 netfront 가 올라가지 않더군요.

커널 소스를 찾아보니 xen_start_kernel 함수에서 xen_domain_type = XEN_PV_DOMAIN 값을 넣어주고 있습니다.

하지만, xen_start_kernel 이 불리지가 않고 있었습니다. xen_start_kernel 이 안불리게 되면 PV 가 아니라 HVM 환경으로

되는 것이라고 생각이 됩니다.

 

현재는 아래와 같이 함수가 호출이 되고 있습니다.

x86_64_start_kernel -> x86_64_start_reservations -> start_kernel

제가 기대하고 있었던 함수 호출은

xen_start_kernel -> x86_64_start_reservations -> start_kernel 인데요.

 

이리저리 구글신에게 폭풍 검색을 해도 딱히 원하는 답이 나오지가 않네요.

원래 Xen Hypervisor 의 GuestOS 로 리눅스가 올라가게 되면, xen_start_kernel 이 자동적으로 불려져야 하는게 아닌가요?

(start_kernel 함수가 최초로 불려지는게 아니라요...)

 

가상화는 할수록 모르는게 너무 많은것 같네요 ㅜㅜ

 

고수님들의 답변 부탁드립니다.

번호 제목 글쓴이 날짜 조회 수
공지 [공지] 프로그래밍 관련 Q&A 게시판 입니다. woos 2016.04.09 22262
378 리눅스 커널 디버거 kgdb 질문입니다 [1] 세르 2014.01.28 2747
377 프로세스에 따른 각기 다른 system call 할당 방법 문의 [1] 간전촌놈 2014.01.23 2809
376 안녕하세요. 우분투 계정 관련 질문입니다. [2] 자연풍수면풍 2014.01.20 3242
375 안녕하세요. 리눅스로 가상 디스플레이를 만들려고 합니다. SODA 2014.01.16 2156
374 zImage를 압축해제 할 때 CacheOn을 하고 start_kernel()을 호출하기 직전에 Cache_off를 하는 이유가 궁금합니다. [1] 온천천 2014.01.13 2520
373 platform device resource에서 메모리 범위의 start, end를 같게 하는 경우 초짜아찌 2014.01.10 2954
372 Xen 소스에 밝으신 분들께 질문이 있습니다. [1] 조영현 2014.01.10 2403
371 업무중에 각종 Processor Emulation 개발이란 무엇인가요? raimkr 2014.01.09 2172
370 여러 모듈로 이루어진 코드를 한행씩 실행할 수 있나요? [1] 디버깅 2014.01.09 1986
369 mkcscope.sh 파일 작성 중 기초적인 내용 질문입니다. [1] 오뎅하나 2014.01.05 4414
368 FPGA VS RTOS [2] 카르마 2014.01.02 4132
367 x86과 arm 커널 분석 스터디에 참여 하고 싶은데요. [1] 이영주1 2013.12.31 2611
366 안녕하세요 질문있습니다. [5] wkylast 2013.12.26 3126
365 커널 스터디 11차는 언제 열리는 지요? [1] 카르마 2013.12.23 2249
» XEN 관련해서 질문 드립니다.(답답한 마음에 ^^;;) [1] codekim 2013.12.19 3225
363 NHN 개발자 커뮤니티 지원은 어떻게 신청해야 하는지요? [4] 구본규 2013.12.18 2332
362 FD 관련 궁금증 질문~ [1] wizard1483 2013.12.15 2010
361 커널 크래쉬 분석 질문드립니다. [1] kimkabsu 2013.12.12 2927
360 ARM아키텍처 공부 방향에 대해 질문이 있습니다. [1] 오뎅하나 2013.12.09 2680
359 커널 압축 해제 준비하는 단계에서 [6] wkylast 2013.12.09 2903
XE Login