Skip to content

[정리] 2022-06-27 #6

@silver-whale

Description

@silver-whale

Tools

cscope 사용법
cscope.out 파일 생성

cscope -Rb

해당 디렉토리에서 vi 실행 후 cscope를 vi에 적용

cs add ./cscope.out

함수 찾을 때 사용하는 명령어

cs f [option] [name]

ctag
ctrl + ] -> ctag 함수 이동(현재 tag 파일이 없어서 실행 불가, 추가로 알아봐야 함)

로그 추출

$명령어 > filename.log
:파이프라이닝

Vi 관련
vs: vi split, 화면 나누기

ctrl+w+방향키 -> 화면 이동

디버깅 및 작업 환경
tmux: 원격 연결 끊겨도 작업 환경을 불러올 수 있도록 함(일종의 백업)

dmesg, printk -> 디버깅에서 사용할 명령어들, 추가로 알아봐야 함

blktrace(+blkparse) : user -> device driver 단계 trace 가능. 성능 테스트 시 사용할 툴.

결론

  • uftrace depth는 점차 늘려가면서 진행할 것
  • i/o device 관련된 코드 영역을 찾아야 함 -> blk 관련 함수 찾아보기
  • 파일 생성의 경우 파일시스템에서 metadata를 이용해서 하는 것이기 때문에 좀 더 상위 레벨임.
  • The block I/O Layer

1차 목표: container 생성 함수 tracing(depth 작게)해서 I/O와 연관 있는 함수들(blk_)로 큰 틀 잡기
QEMU 이미지를 nvme0n1(/mnt/nvme) 위치로 옮기기. QEMU 이미지 용량 늘릴 수 있음.
QEMU 이미지 사이즈 늘리기

system call 단계 전까지 진행하는 것이 다음 목표.

Metadata

Metadata

Assignees

No one assigned

    Labels

    documentationImprovements or additions to documentation

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions