<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
<HTML><HEAD>
<META http-equiv=Content-Type content="text/html; charset=us-ascii">
<META content="MSHTML 6.00.6000.16587" name=GENERATOR></HEAD>
<BODY>
<DIV><FONT face=Arial size=2><SPAN class=317383113-23112008>The following patch
decreases the time that is needed in order to compile opensm from 50 seconds to
about 5 seconds.</SPAN></FONT></DIV>
<DIV><FONT face=Arial size=2><SPAN class=317383113-23112008>(this assumes that
files are already in the cache).</SPAN></FONT></DIV>
<DIV><FONT face=Arial size=2><SPAN
class=317383113-23112008></SPAN></FONT> </DIV>
<DIV><FONT face=Arial size=2><SPAN class=317383113-23112008>A better solution
would have been to use precompiled headers. Since this requires changes to every
source file, I choose not to implement this since we want to keep the files
aligned also with the Linux code.</SPAN></FONT></DIV>
<DIV><FONT face=Arial size=2><SPAN
class=317383113-23112008></SPAN></FONT> </DIV>
<DIV><FONT face=Arial size=2><SPAN
class=317383113-23112008>Thanks</SPAN></FONT></DIV>
<DIV><FONT face=Arial size=2><SPAN
class=317383113-23112008>Tzachi</SPAN></FONT></DIV>
<DIV><FONT face=Arial size=2><SPAN
class=317383113-23112008></SPAN></FONT> </DIV>
<DIV><FONT face=Arial size=2><SPAN class=317383113-23112008>Index:
Q:/projinf4/trunk/ulp/opensm/user/opensm/osm_files.c<BR>===================================================================<BR>---
Q:/projinf4/trunk/ulp/opensm/user/opensm/osm_files.c (revision 0)<BR>+++
Q:/projinf4/trunk/ulp/opensm/user/opensm/osm_files.c (revision 3544)<BR>@@
-0,0 +1,126 @@<BR>+#include <osm_db_files.c><BR>+#include
<osm_db_pack.c><BR>+#include <osm_fwd_tbl.c><BR>+#include
<osm_inform.c><BR>+#include <osm_lid_mgr.c><BR>+#include
<osm_lin_fwd_rcv.c><BR>+#include
<osm_lin_fwd_rcv_ctrl.c><BR>+#include
<osm_lin_fwd_tbl.c><BR>+<BR>+#include <osm_link_mgr.c><BR>+#include
<osm_matrix.c><BR>+#include <osm_mcast_fwd_rcv.c><BR>+#include
<osm_mcast_fwd_rcv_ctrl.c><BR>+#include
<osm_mcast_mgr.c><BR>+#include <osm_mcast_tbl.c><BR>+#include
<osm_mcm_info.c><BR>+#include <osm_mcm_port.c><BR>+#include
<osm_mtree.c><BR>+#include <osm_multicast.c><BR>+#include
<osm_node.c><BR>+#include <osm_node_desc_rcv.c><BR>+#include
<osm_node_desc_rcv_ctrl.c><BR>+#include
<osm_node_info_rcv.c><BR>+#include
<osm_node_info_rcv_ctrl.c><BR>+#include <osm_opensm.c><BR>+#include
<osm_pkey.c><BR>+#include <osm_pkey_mgr.c><BR>+#include
<osm_prtn.c><BR>+#include <osm_pkey_rcv.c><BR>+#include
<osm_pkey_rcv_ctrl.c><BR>+#include <osm_qos.c><BR>+#include
<osm_port.c><BR>+#include <osm_port_info_rcv.c><BR>+#include
<osm_port_info_rcv_ctrl.c><BR>+#include
<osm_remote_sm.c><BR>+#include <osm_req.c><BR>+#include
<osm_req_ctrl.c><BR>+#include <osm_resp.c><BR>+#include
<osm_sa.c><BR>+#include <osm_router.c><BR>+#include
<osm_sa_class_port_info.c><BR>+#include
<osm_sa_class_port_info_ctrl.c><BR>+#include
<osm_sa_guidinfo_record.c><BR>+#include
<osm_sa_guidinfo_record_ctrl.c><BR>+#include
<osm_sa_informinfo.c><BR>+#include
<osm_sa_informinfo_ctrl.c><BR>+#include
<osm_sa_lft_record.c><BR>+#include
<osm_sa_lft_record_ctrl.c><BR>+#include
<osm_sa_link_record.c><BR>+#include
<osm_sa_link_record_ctrl.c><BR>+<BR>+#include
<osm_sa_mad_ctrl.c><BR>+<BR>+#include
<osm_sa_mcmember_record_ctrl.c><BR>+<BR>+#include
<osm_sa_mft_record.c><BR>+<BR>+#include
<osm_sa_mft_record_ctrl.c><BR>+<BR>+#include
<osm_sa_node_record.c><BR>+<BR>+#include
<osm_sa_node_record_ctrl.c><BR>+<BR>+#include
<osm_sa_path_record_ctrl.c><BR>+<BR>+#include
<osm_sa_pkey_record.c><BR>+<BR>+#include
<osm_sa_pkey_record_ctrl.c><BR>+<BR>+#include
<osm_sa_portinfo_record.c><BR>+<BR>+#include
<osm_sa_portinfo_record_ctrl.c><BR>+<BR>+#include
<osm_sa_response.c><BR>+<BR>+#include
<osm_sa_service_record.c><BR>+<BR>+#include
<osm_sa_service_record_ctrl.c><BR>+<BR>+#include
<osm_sa_slvl_record.c><BR>+<BR>+#include
<osm_sa_slvl_record_ctrl.c><BR>+<BR>+#include
<osm_sa_sminfo_record.c><BR>+<BR>+#include
<osm_sa_sminfo_record_ctrl.c><BR>+<BR>+#include
<osm_sa_sw_info_record.c><BR>+<BR>+#include
<osm_sa_sw_info_record_ctrl.c><BR>+<BR>+#include
<osm_sa_vlarb_record.c><BR>+<BR>+#include
<osm_sa_vlarb_record_ctrl.c><BR>+<BR>+#include
<osm_service.c><BR>+<BR>+#include
<osm_slvl_map_rcv.c><BR>+<BR>+#include
<osm_slvl_map_rcv_ctrl.c><BR>+<BR>+#include <osm_sm.c><BR>+#include
<osm_sminfo_rcv.c><BR>+#include <osm_sminfo_rcv_ctrl.c><BR>+#include
<osm_sm_mad_ctrl.c><BR>+#include <osm_sm_state_mgr.c><BR>+#include
<osm_state_mgr.c><BR>+#include <osm_state_mgr_ctrl.c><BR>+#include
<osm_subnet.c><BR>+#include <osm_sweep_fail_ctrl.c><BR>+#include
<osm_sw_info_rcv.c><BR>+#include
<osm_sw_info_rcv_ctrl.c><BR>+#include <osm_switch.c><BR>+#include
<osm_trap_rcv.c><BR>+#include <osm_trap_rcv_ctrl.c><BR>+#include
<osm_ucast_mgr.c><BR>+#include <osm_ucast_updn.c><BR>+#include
<osm_ucast_file.c><BR>+#include <osm_ucast_ftree.c><BR>+#include
<osm_vl15intf.c><BR>+#include <osm_vl_arb_rcv.c><BR>+#include
<osm_vl_arb_rcv_ctrl.c><BR>+#include <st.c><BR>+#include
<main.c><BR>+#include <cl_event_wheel.c><BR>+#include
<cl_dispatcher.c><BR>Index:
Q:/projinf4/trunk/ulp/opensm/user/opensm/SOURCES<BR>===================================================================<BR>---
Q:/projinf4/trunk/ulp/opensm/user/opensm/SOURCES (revision 3543)<BR>+++
Q:/projinf4/trunk/ulp/opensm/user/opensm/SOURCES (revision 3544)<BR>@@
-18,109 +18,11
@@<BR> SOURCES=\<BR> osm.mc
\<BR> opensm.rc
\<BR>- osm_db_files.c
\<BR>- osm_db_pack.c
\<BR>- osm_drop_mgr.c
\<BR>- osm_fwd_tbl.c
\<BR>- osm_inform.c
\<BR>- osm_lid_mgr.c
\<BR>- osm_lin_fwd_rcv.c
\<BR>- osm_lin_fwd_rcv_ctrl.c
\<BR>- osm_lin_fwd_tbl.c
\<BR>- osm_link_mgr.c
\<BR>- osm_matrix.c
\<BR>- osm_mcast_fwd_rcv.c
\<BR>- osm_mcast_fwd_rcv_ctrl.c
\<BR>- osm_mcast_mgr.c
\<BR>- osm_mcast_tbl.c
\<BR>- osm_mcm_info.c
\<BR>- osm_mcm_port.c
\<BR>- osm_mtree.c
\<BR>- osm_multicast.c
\<BR>- osm_node.c
\<BR>- osm_node_desc_rcv.c
\<BR>- osm_node_desc_rcv_ctrl.c
\<BR>- osm_node_info_rcv.c
\<BR>- osm_node_info_rcv_ctrl.c
\<BR>- osm_opensm.c
\<BR>- osm_pkey.c
\<BR>- osm_pkey_mgr.c
\<BR>- osm_prtn.c
\<BR>- osm_prtn_config.c
\<BR>- osm_pkey_rcv.c
\<BR>- osm_pkey_rcv_ctrl.c
\<BR>- osm_qos.c
\<BR>- osm_port.c
\<BR>- osm_port_info_rcv.c
\<BR>- osm_port_info_rcv_ctrl.c
\<BR>- osm_remote_sm.c
\<BR>- osm_req.c
\<BR>- osm_req_ctrl.c
\<BR>- osm_resp.c
\<BR>- osm_sa.c
\<BR>- osm_router.c
\<BR>- osm_sa_class_port_info.c
\<BR>- osm_sa_class_port_info_ctrl.c
\<BR>- osm_sa_guidinfo_record.c
\<BR>- osm_sa_guidinfo_record_ctrl.c
\<BR>- osm_sa_informinfo.c
\<BR>- osm_sa_informinfo_ctrl.c
\<BR>- osm_sa_lft_record.c
\<BR>- osm_sa_lft_record_ctrl.c
\<BR>- osm_sa_link_record.c
\<BR>- osm_sa_link_record_ctrl.c
\<BR>- osm_sa_mad_ctrl.c
\<BR>- osm_sa_mcmember_record.c
\<BR>- osm_sa_mcmember_record_ctrl.c
\<BR>- osm_sa_mft_record.c
\<BR>- osm_sa_mft_record_ctrl.c
\<BR>- osm_sa_node_record.c
\<BR>- osm_sa_node_record_ctrl.c
\<BR>- osm_sa_path_record.c
\<BR>- osm_sa_path_record_ctrl.c
\<BR>- osm_sa_pkey_record.c
\<BR>- osm_sa_pkey_record_ctrl.c
\<BR>- osm_sa_portinfo_record.c
\<BR>- osm_sa_portinfo_record_ctrl.c
\<BR>- osm_sa_response.c
\<BR>- osm_sa_service_record.c
\<BR>- osm_sa_service_record_ctrl.c
\<BR>- osm_sa_slvl_record.c
\<BR>- osm_sa_slvl_record_ctrl.c
\<BR>- osm_sa_sminfo_record.c
\<BR>- osm_sa_sminfo_record_ctrl.c
\<BR>- osm_sa_sw_info_record.c
\<BR>- osm_sa_sw_info_record_ctrl.c
\<BR>- osm_sa_vlarb_record.c
\<BR>- osm_sa_vlarb_record_ctrl.c
\<BR>- osm_service.c
\<BR>- osm_slvl_map_rcv.c
\<BR>- osm_slvl_map_rcv_ctrl.c
\<BR>- osm_sm.c
\<BR>- osm_sminfo_rcv.c
\<BR>- osm_sminfo_rcv_ctrl.c
\<BR>- osm_sm_mad_ctrl.c
\<BR>- osm_sm_state_mgr.c
\<BR>- osm_state_mgr.c
\<BR>- osm_state_mgr_ctrl.c
\<BR>- osm_subnet.c
\<BR>- osm_sweep_fail_ctrl.c
\<BR>- osm_sw_info_rcv.c
\<BR>- osm_sw_info_rcv_ctrl.c
\<BR>- osm_switch.c
\<BR>- osm_trap_rcv.c
\<BR>- osm_trap_rcv_ctrl.c
\<BR>- osm_ucast_mgr.c
\<BR>- osm_ucast_updn.c
\<BR>- osm_ucast_file.c
\<BR>- osm_ucast_ftree.c
\<BR>- osm_vl15intf.c
\<BR>- osm_vl_arb_rcv.c
\<BR>- osm_vl_arb_rcv_ctrl.c
\<BR>- st.c
\<BR>- main.c
\<BR>- cl_event_wheel.c
\<BR>-
cl_dispatcher.c<BR>+ osm_files.c\<BR>+ osm_drop_mgr.c\<BR>+
osm_prtn_config.c\<BR>+
osm_sa_mcmember_record.c\<BR>+
osm_sa_path_record.c\<BR> <BR> OSM_HOME=..<BR> <BR></SPAN></FONT></DIV></BODY></HTML>