changeset:   5003:40c6846b73d2
branch:      opensaf-4.3.x
user:        Anders Widell <anders.wid...@ericsson.com>
date:        Sun Dec 01 20:59:44 2013 +0100
summary:     osaf: Replace select() with osaf_poll() to avoid 1024 fd limit 
[#452]

changeset:   5004:bc7a0d72772f
branch:      opensaf-4.3.x
tag:         tip
user:        Anders Widell <anders.wid...@ericsson.com>
date:        Thu Dec 19 16:35:28 2013 +0100
summary:     java: Replace select() with osaf_poll() to avoid 1024 fd limit 
[#452]

[staging:40c684]
[staging:bc7a0d]


---

** [tickets:#452] osaf: Allow us to use more than 1024 file descriptors**

**Status:** fixed
**Created:** Wed Jun 12, 2013 10:49 AM UTC by Anders Widell
**Last Updated:** Thu Jan 23, 2014 09:11 AM UTC
**Owner:** Anders Widell

Migrated from <http://devel.opensaf.org/ticket/695>

When I invoke saImmOmInitialize the first time, a few threads are created. At 
least two of these threads are using **select** (ncs_sel_obj_select and 
ncs_tmr_wait). This is very unfortunate as the usage of select implies a 
superflous limitation of the maximum number of open file descriptors in our 
processes. If you use **poll** in your agent libraries, you will enable us to 
use more than 1024 file descriptors.

It may be the case that there are other functions (than these mentioned above) 
that also are using select in OpenSAF agent libraries. See the stack trace from 
gdb below for details.

/Håkan
—
Håkan Mattsson, Erlang/OTP, Ericsson AB

    (gdb) thr 2
    [Switching to thread 2 (process 15689)]#0 0x00002b0d895a29a2 in select () 
from /lib64/libc.so.6
    (gdb) bt
    #0 0x00002b0d895a29a2 in select () from /lib64/libc.so.6
    #1 0x00002aaaab174a05 in ncs_sel_obj_select (highest_sel_obj={raise_obj = 
15, rmv_obj = 16}, rfds=0x420684b0, wfds=0x0, efds=0x0, timeout_in_10ms=0x0) at 
src/os_defs.c:2818
    #2 0x00002aaaab149d23 in ncs_ipc_recv_common (mbx=0x2aaaab2e2580, block=1) 
at src/sysf_ipc.c:447
    #3 0x00002aaaab149bf5 in ncs_ipc_recv (mbx=0x2aaaab2e2580) at 
src/sysf_ipc.c:394
    #4 0x00002aaaab1b736b in dta_do_evts (mbx=0x2aaaab2e2580) at dta_api.c:1260
    #5 0x00002b0d892cb143 in start_thread () from /lib64/libpthread.so.0
    #6 0x00002b0d895a8b8d in clone () from /lib64/libc.so.6
    #7 0x0000000000000000 in ?? ()
    (gdb) thr 3
    [Switching to thread 3 (process 15688)]#0 0x00002b0d895a08b6 in poll () 
from /lib64/libc.so.6
    (gdb) bt
    #0 0x00002b0d895a08b6 in poll () from /lib64/libc.so.6
    #1 0x00002aaaab17d39e in mdtm_process_recv_events () at 
src/mds_dt_tipc.c:640
    #2 0x00002b0d892cb143 in start_thread () from /lib64/libpthread.so.0
    #3 0x00002b0d895a8b8d in clone () from /lib64/libc.so.6
    #4 0x0000000000000000 in ?? ()
    (gdb) thr 4
    [Switching to thread 4 (process 15687)]#0 0x00002b0d895a29a2 in select () 
from /lib64/libc.so.6
    (gdb) bt
    #0 0x00002b0d895a29a2 in select () from /lib64/libc.so.6
    #1 0x00002aaaab14e4d6 in ncs_tmr_wait () at src/sysf_tmr.c:541
    #2 0x00002b0d892cb143 in start_thread () from /lib64/libpthread.so.0
    #3 0x00002b0d895a8b8d in clone () from /lib64/libc.so.6
    #4 0x0000000000000000 in ?? ()


---

Sent from sourceforge.net because opensaf-tickets@lists.sourceforge.net is 
subscribed to https://sourceforge.net/p/opensaf/tickets/

To unsubscribe from further messages, a project admin can change settings at 
https://sourceforge.net/p/opensaf/admin/tickets/options.  Or, if this is a 
mailing list, you can unsubscribe from the mailing list.
------------------------------------------------------------------------------
Managing the Performance of Cloud-Based Applications
Take advantage of what the Cloud has to offer - Avoid Common Pitfalls.
Read the Whitepaper.
http://pubads.g.doubleclick.net/gampad/clk?id=121054471&iu=/4140/ostg.clktrk
_______________________________________________
Opensaf-tickets mailing list
Opensaf-tickets@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/opensaf-tickets

Reply via email to