Hi Hal,<br>
<br>
Sure will test it out. I see no issue in this fix. I have run the following test overnight<br>
in a script with yesterday's code<br>
<br>
1. Start opensm<br>
2. Ping another node over IB<br>
3. Run osmtest (osmtest -f c, osmtest -f a)<br>
4. Kill opensm with -9 signal and repeat over<br>
<br>
The failures are captured in a log.<br>
<br>
This has run more than 2500 times without resource leak issues. I saw about 150 osmtest<br>
failures which I will followup with another mail. Once opensm failed to start correctly with SUBNET UP message in the log.<br>
<br>
-Viswa<br>
<br><br><div><span class="gmail_quote">On 22 Sep 2005 11:17:46 -0400, <b class="gmail_sendername">Hal Rosenstock</b> <<a href="mailto:halr@voltaire.com">halr@voltaire.com</a>> wrote:</span><blockquote class="gmail_quote" style="border-left: 1px solid rgb(204, 204, 204); margin: 0pt 0pt 0pt 0.8ex; padding-left: 1ex;">
Hi again Viswa,<br><br>On Wed, 2005-09-21 at 21:00, Hal Rosenstock wrote:<br>> Hi Viswa,<br>><br>> On Wed, 2005-09-21 at 20:23, Viswanath Krishnamurthy wrote:<br>> > Currently opensm traps SIGINT. There was some discussion to remove it.
<br>> > I have currently running some tests on opensm<br>> > by killing (SIGKILL) and restarting opensm. So far I ahve not found<br>> > any resource leak issues. Is ther a plan to remove that<br>> > signal handler. Ideally it should not exist.
<br>><br>> Eitan stated that this was historical in nature for gen1 drivers which<br>> had resource tracking problems: "if OpenSM left without cleaning up all<br>> used resources (like MAD buffers and UD-AVs), the driver oops'ed."
<br>><br>> I think that (eliminating the handler for SIGINT) can at least be done<br>> for OSM_VENDOR_INTF_OPENIB and leave it there for the other vendor<br>> layers for starters. I will experiment with gen2 and let you know.
<br><br>Does the patch below do what you want ? Can you try it ?<br><br>-- Hal<br><br>Index: opensm/osm_opensm.c<br>===================================================================<br>--- opensm/osm_opensm.c (revision 3513)
<br>+++ opensm/osm_opensm.c (working copy)<br>@@ -182,7 +182,9 @@ osm_reg_sig_handler(<br> IN osm_opensm_t * const p_osm )<br> {<br> __p_osm_to_signal = p_osm;<br>+#ifndef OSM_VENDOR_INTF_OPENIB<br> cl_reg_sig_hdl( SIGINT, __sig_handler );
<br>+#endif<br> cl_reg_sig_hdl( SIGTERM, __sig_handler );<br> cl_reg_sig_hdl( SIGHUP, __sig_handler );<br> osm_exit_flag = 0;<br><br><br></blockquote></div><br>