memory usage of epoll implementation

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



Hi! Benny,


    I have tried to add PJ_IOQUEUE_HAS_SAFE_UNREG mechanism to ioqueue_epoll.c. I refer the ioqueue_select.c to modify it and test with my own program. The memory usage will not increase and work ok. I put the modified ioqueue_epoll.c in the attachment. Can you help me to double check it? Thanks! 

P.S.    I find the ioqueue_winnt.c in 1.0 RC1 adding "concurrency" mechanism. Does the ioqueue_epoll.c need to add the same mechanism? 

Simon

  ----- Original Message ----- 
  From: Benny Prijono 
  To: pjsip list 
  Sent: Monday, August 18, 2008 7:47 PM
  Subject: Re: memory usage of epoll implementation


  On Mon, Aug 18, 2008 at 10:09 AM, Simon Chen <simonmychen at seed.net.tw> wrote:

    Hi!

        In ioqueue_select.c, memory of pj_ioqueue_key_t will be reused when compiler option "PJ_IOQUEUE_HAS_SAFE_UNREG" is set. But in ioqueue_epoll.c, it doesn't support this. 

        In pj_ioqueue_register_sock(), it allocates the memory and creates a mutex for pj_ioqueue_key_t by pj_pool_zalloc. But these memory will not be released before memory poll is released. This will increase the memory usage after calling pj_ioqueue_register_sock() in ioqueue_epoll.c. Can ioqueue_epoll.c add the same mechanism to avoid the memory increase? Is there any other concern? Thanks!


  In general, the epoll ioqueue backend is not actively maintained lately, hence it's not even offered as configuration choice. So I'm not surprised that it has some holes in it. If you think you can make it work, feel free to suggest a patch, I'd be happy to review it. :)

  Cheers
   Benny

   
    Simon Chen





------------------------------------------------------------------------------


  _______________________________________________
  Visit our blog: http://blog.pjsip.org

  pjsip mailing list
  pjsip at lists.pjsip.org
  http://lists.pjsip.org/mailman/listinfo/pjsip_lists.pjsip.org
-------------- next part --------------
An HTML attachment was scrubbed...
URL: http://lists.pjsip.org/pipermail/pjsip_lists.pjsip.org/attachments/20080905/ab14634e/attachment-0001.html 
-------------- next part --------------
An embedded and charset-unspecified text was scrubbed...
Name: ioqueue_epoll.c
Url: http://lists.pjsip.org/pipermail/pjsip_lists.pjsip.org/attachments/20080905/ab14634e/attachment-0001.c 


[Index of Archives]     [Asterisk Users]     [Asterisk App Development]     [Linux ARM Kernel]     [Linux ARM]     [Linux Omap]     [Fedora ARM]     [IETF Annouce]     [Security]     [Bugtraq]     [Linux]     [Linux OMAP]     [Linux MIPS]     [Linux API]
  Powered by Linux