Skip to content

koss2016 해커톤 perf팀 진행상황 (최종정리) #160

@Taeung

Description

@Taeung

Linux perf: Linux profiling with performance counters

Member

  • 송태웅 (멘토)
  • 김동현
  • 김선영
  • 김재훈
  • 김종빈
  • 권욱제
  • 안이수
  • 양낙영
  • 조성수
  • 최왕용
  • 하남봉

Goal

  • 이 프로젝트의 가장 큰 목적은 리눅스 커널 Contribution 을 하기위한 큰 장벽을 허무는데 있습니다.
  • git 을 이용해서 수정한 내용에 대해 패치를 만들고 그것을 메일링 리스트에 전송하거나, github 에 pull request 를 보내는 것을 학습하여 리눅스 커널이 개발되는 과정을 학습합니다.
  • 해커톤이 끝난 이후에도 지속적으로 perf 툴의 개발 진행상황에 관심을 가지고 지속적인 contribution 을 할 수 있기를 희망합니다.

마일스톤 관리 (각자 미션과 진행사항 표시)

https://github.com/kosslab-kr/linux-perf/milestones

* 총 14개의 pull-request 연습 약 10회의 PATCH 메일 연습 (최종)

* 총 145개 issues(미션, 과제) 중에서 96개 완료 (최종)

screenshot from 2016-09-30 20-31-46

  • 각자 마일스톤을 통한 미션(issue) 처리 수행 중간과정 사진

screenshot from 2016-09-27 23-56-22

Day by Day 미션내용

https://github.com/kosslab-kr/linux-perf/milestone/1
screenshot from 2016-09-30 18-13-33

Daily Did List

2016.09.24 (Offline)

  • 장소 : D.Camp
  • 시간 : 15:00 - 20:00
  • 작업 내용
    • 팀원 소개 및 perf 에 대한 소개
      • perf 사용법 소개 및 시연
        • linux kernel contribution process 소개

aa

2016.09.25 (Online)

  • perf 개발 환경 구축
  • git 기초 명령어 학습 (add, commit, push, pull)
  • git 심화 명령어 학습 (checkout, reset, rebase)
  • perf 에 대해서 개별 조사
  • 각종 이슈

img_2542

  • 카카오톡으로 소통

img_2539

2016.09.26 (Offline)

  • 장소 : kosslab 센터
  • 시간 : 19:00 - 20:30
  • 작업 내용
    • git 기초 / 심화 명령어 실습*
    • perf 로 간단한 프로그램 성능 테스트
    • uftrace 를 이용한 프로그램 실행 시 함수 호출 trace 실습
    • vim + ctags 를 이용한 perf 개발 환경 구축
    • git 을 이용하여 수정 내용 패치 생성 및 메일링 리스트에 패치 전송 실습
    • github 으로 pull request 생성 실습

bb

2016.09.27 (Online)

  • perf의 Documentation/tips.txt 실제적용 및 추가라인 만들기
  • perf 소스리딩 tool 익히기 미션
  • 온라인 작업중인 최왕용씨

img_2546

  • 온라인 작업중인 양낙영씨

img_2547

2016.09.28 (Online)

  • perf 소스리딩미션 "perf.data에서 이벤트샘플정보 읽어서 evlist에 어떻게 세팅하는가 ?"
  • perf 소스리딩 미션 "subcommand는 어떻게 실행되는가?"
  • perf 새로운 stat diff 만들기 관련 토의
  • perf diff 기능관련 상의중 캡쳐

img_2541

  • 새로운 perf stat diff 명령 (아이디어) 결과 사진

nambong_ha

  • subcommand 실행 과정 분석과정

screenshot from 2016-09-30 20-24-26

  • perf config --list 가 parse 되는 과정 분석중

screenshot from 2016-09-30 20-24-43

2016.09.29 (Offline)

  • (분석 정리) perf 소스리딩 미션 "subcommand는 어떻게 실행되는가?"
  • (분석 정리) perf 소스리딩미션 "perf.data에서 이벤트샘플정보 읽어서 evlist에 어떻게 세팅하는가 ?"
  • perf의 Documentation/tips.txt 실제적용 및 추가라인 만들기 (각자 실제 작업진행)

    * 총 5명 리눅스커널 메인라인에 PATCH 전송 성공 (2명은 답변받고 적용대기중)

cc

dd

ee

ff

img_2513

img_2533

* 마지막 커널패치 5명 모두 전송후 사진 (2명은 메인테이너(Arnaldo)에게 답변받고 적용 대기중)

* 커널에 보낸 PATCH 내용은 동일하게 pull-request도 연습

#154
#153
#152
#151
#150
#149
#148
#147

  • 12시간만에 리눅스 커널 PATCH 성공 후 기쁨의 사진 👍

img_2534

  • 하남봉씨 Arnaldo (Linux Kernel - perf 메인테이너) 답장 받은 사진

img_2543

  • 김선영 씨 Arnaldo (Linux Kernel - perf 메인테이너) 답장 받은 사진

img_2544

  • 조성수씨 PATCH 메일 전송 결과

img_2548

- 하남봉씨 PATCH 메일 내용

img_2549

2016.09.30 (Online, Offline)

  • 도커를 활용한 perf 개발 테스트 환경 구축 작업
  • Linux Kernel - perf 프로젝트 초보개발자를 위한 가이드문서
  • 발표자료 작업 진행

img_2550

screenshot from 2016-09-30 21-07-19

Links

perf 를 이해하는데 도움이 되는 링크를 공유합니다.

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions