안녕하세요.
일때문에 packet 관련된 내용으로 커널쪽을 보다가 괜찮은 함수가 하나 있어서 이렇게 적습니다.
기존에 2.4에서는 kmalloc를 통해서 메모리를 할당 받지 않습니까?
하지만 kmalloc 같은 경우에 memory 초기화를 해주지 않아서 저 역시 module 개발할 때 직접 memset을 해주거나 데이터 뒤에 NULL을 넣어주어야 하는 경우가 많았습니다.
2.6에 보니 slab.c에 보니 kzalloc라는 함수가 생겼더군요. 물론 아주 간단합니다. kmalloc하고 memset 해줄 뿐이지요. 무조건적으로 이걸 쓰면 쓸데없는 오버헤드가 발생할 수 있겠지만, 적절하게 사용한다면, 코드길이도 작고 괜찮을거 같습니다. 리눅스 커널 개발자들도 귀찮았나 봅니다. ㅎㅎ 특별한 기술적인 내용은 없지만, 그냥 이런 함수도 있구나 하고 생각해주셨으면 하는 바램으로 적어봤습니다. ^^
그럼 모두들 수고하세요~!.
일때문에 packet 관련된 내용으로 커널쪽을 보다가 괜찮은 함수가 하나 있어서 이렇게 적습니다.
기존에 2.4에서는 kmalloc를 통해서 메모리를 할당 받지 않습니까?
하지만 kmalloc 같은 경우에 memory 초기화를 해주지 않아서 저 역시 module 개발할 때 직접 memset을 해주거나 데이터 뒤에 NULL을 넣어주어야 하는 경우가 많았습니다.
2.6에 보니 slab.c에 보니 kzalloc라는 함수가 생겼더군요. 물론 아주 간단합니다. kmalloc하고 memset 해줄 뿐이지요. 무조건적으로 이걸 쓰면 쓸데없는 오버헤드가 발생할 수 있겠지만, 적절하게 사용한다면, 코드길이도 작고 괜찮을거 같습니다. 리눅스 커널 개발자들도 귀찮았나 봅니다. ㅎㅎ 특별한 기술적인 내용은 없지만, 그냥 이런 함수도 있구나 하고 생각해주셨으면 하는 바램으로 적어봤습니다. ^^
그럼 모두들 수고하세요~!.
댓글 0
번호 | 제목 | 글쓴이 | 날짜 | 조회 수 |
---|---|---|---|---|
공지 | [공지] 강좌, 팁, 정보등에 대해 올리는 게시판입니다. | woos | 2016.04.09 | 246 |
9 | 포토샵 웹버전입니다. [1] | 강진성 | 2010.05.14 | 40685 |
8 | 허접 영어 사전입니다. [3] | 백창우 | 2008.04.22 | 16092 |
7 | define을 사용한 version 처리. | 원민수 | 2008.02.09 | 15026 |
6 | systemtap 관련 간단한 소개입니다. | 남용우 | 2007.11.06 | 17058 |
5 | 태훈님에 이어. ARM kernel 참고자료 | 백창우 | 2007.11.05 | 19014 |
4 | 누가 나를 호출했는지 찾기 + 포인터를 심볼 이름으로 변환하여 출력하기 [1] | 지현구 | 2007.02.27 | 17863 |
» | kernel 2.6의 kzalloc함수 (원민수 씀) | 백창우 | 2007.02.23 | 19337 |
2 | #pragma에 관련해서.. [2] | 원민수 | 2006.07.19 | 20782 |
1 | 여기는 팁, 기타 정보를 올리는 곳입니다. | 백창우 | 2006.06.05 | 14751 |
.