epoll_create(int size) 에서 size의 의미...
글쓴이: peccavi / 작성시간: 화, 2005/05/17 - 6:46오후
epoll_create(int size) 에서 size의 의미가 무엇인지 정확히 개념이 안잡힙니다.
manpage를 찾아봤더니..
Quote:
Open an epoll file descriptor by requesting the kernel allocate an event backing store dimensioned for size descriptors. The size is not the maximum size of the backing store but just a hint to the kernel about how to dimension internal structures.
joinc 에서는...
Quote:
epoll_create()는 이벤트를 저장하기 위한 size만큼의 공간을 커널에 요청한다. 커널에 요청한다고 해서 반드시 size만큼의 공간이 확보되는 건 아니지만 커널이 대략 어느 정도의 공간을 만들어야 할지는 정해줄 수 있다.
epoll.h 에서는
Quote:
The "size" parameter is a hint specifying the number of file descriptors to be associated with the new instance.
여기서 말하는 size들이 이벤트를 저장하기위한 객체들의 수인지, 아니면 최대로 생성할 디스크립터들의 수인지 잘 모르겠습니다.
항상 그렇다는 보장은 없지만 일반적으로 이벤트 객체들의 수와 최대 디스크립터들의 수가 일치하는 경우가 많은걸로 봐서는 size = 이벤트를 저장할 객체의 수 로 해도 될것 같긴 한데, 무슨 기준으로 계산해서 저 값을 써주는건지 모르겠네요.
도움좀 부탁드립니다.
Forums:
이글과 같은 내용을 질문하려다가 이미 질문하신분이 계셔서다시 위로 올
이글과 같은 내용을 질문하려다가 이미 질문하신분이 계셔서
다시 위로 올립니다.
struct epoll_event 구조체는 디스크립터들의 수인것 같은데.
저 사이즈값은 대체 어떤걸 의미하는지 검색해도 설명들이
정확히 콕콕 집지 못하고 모호하네요.
저도 그렇게 생각했었는데.
joinc의 epoll 예제에서는 두 값이 다르더군요.
혹시 아시는분 있나요?
Chaos to Cosmos,
Chaos to Chaos,
Cosmos to Cosmos,
Cosmos to Chaos.
ㅋㅋ 올려주셔서 감사합니다 :D
ㅋㅋ 올려주셔서 감사합니다 :D
----
jai guru deva om...
일년이 지나도록
일년이 지나도록 답변이 없어서, 다시 올려봅니다 ^^/
-_ -;;
----
jai guru deva om...
----
jai guru deva om...
현재 Linux kernel 2.6을 분석해보면
현재 Linux kernel 2.6을 분석해보면
epoll_create()의 parameter는 아무 의미 없습니다.
어떤 값을 넣어도 어차피 참조하지 않으니 무의미하고요
아마도 미래에 그 값을 가지고 최적의 epoll용 kernel data structure
를 만드는데 만들기 위해 사용하려는 일종의 reserved인거 같습니다.
/***************************************
Being the one is just like being in love.
***************************************/
답변
답변 감사드립니다.
헌데, 몇차례 테스트를 했었습니다만 size가 현시점(2.6.17)에서 의미가 없는건 아닌것 같습니다.
epoll 소켓에 무작위로 접속하는 더미 클라이언트들을 실행해 테스트를 해본 결과로는
epoll_create()에서 size를 주는 만큼
epoll_wait()의 리턴값(stevens아저씨의 nready값)이 변하는것 같습니다.
nready값이 최대 size를 넘지 않았습니다.
결과 그대로 한번에 처리하는 이벤트의 수를 size로 정해서 사용하는 쪽으로 마음은 굳어지고 있습니다만
source를 확인하셨다니 다시 망설여 지는군요..
----
jai guru deva om...
----
jai guru deva om...
댓글 달기