[ofw][patch] mcast destroy retry count - parameters
    Slava Strebkov 
    slavas at voltaire.com
       
    Tue Jun 17 03:21:13 PDT 2008
    
    
  
Attached patch allows specifying timeout and retrying count values for
multicast leave operation.
 
Index: core/al/al_common.h
===================================================================
--- core/al/al_common.h (revision 1261)
+++ core/al/al_common.h           (working copy)
@@ -49,6 +49,8 @@
 extern uint32_t              g_ioc_query_retries;
 extern uint32_t              g_ioc_poll_interval;
 
+extern uint32_t             g_mc_destroy_retry_timeout;
+extern uint32_t             g_mc_destroy_retry_count;
 
 /* Wait operations performed in user-mode must be alertable. */
 #ifdef CL_KERNEL
Index: core/al/al_mcast.c
===================================================================
--- core/al/al_mcast.c     (revision 1261)
+++ core/al/al_mcast.c  (working copy)
@@ -96,10 +96,12 @@
 static void
 __free_attach(
            IN                                             al_obj_t
*p_obj );
+/* Mcast destroy timeout and retry count read from registry */
+uint32_t           g_mc_destroy_retry_timeout = 1000;
+uint32_t           g_mc_destroy_retry_count   = 10;
+
 #endif
 
-
-
 ib_api_status_t
 al_join_mcast(
            IN                     const    ib_qp_handle_t FUNC_PTR64
h_qp,
@@ -271,8 +273,14 @@
            sa_mad_data.p_attr = &h_mcast->member_rec;
 
            ref_al_obj( &h_mcast->obj );
-           status = al_send_sa_req(
-                       &h_mcast->sa_dereg_req, h_mcast->port_guid, 500,
0, &sa_mad_data, 0 );
+          status = 
+#if defined( CL_KERNEL )
+                      al_send_sa_req(
+                      &h_mcast->sa_dereg_req, h_mcast->port_guid,
g_mc_destroy_retry_timeout, g_mc_destroy_retry_count, &sa_mad_data, 0 );
+#else
+          al_send_sa_req(
+          &h_mcast->sa_dereg_req, h_mcast->port_guid, 500, 0,
&sa_mad_data, 0 );
+#endif
            if( status != IB_SUCCESS )
                        deref_al_obj( &h_mcast->obj );
 
Index: core/bus/kernel/bus_driver.c
===================================================================
--- core/bus/kernel/bus_driver.c  (revision 1261)
+++ core/bus/kernel/bus_driver.c           (working copy)
@@ -326,7 +326,7 @@
 {
            NTSTATUS
status;
            /* Remember the terminating entry in the table below. */
-           RTL_QUERY_REGISTRY_TABLE           table[10];
+          RTL_QUERY_REGISTRY_TABLE           table[12];
            UNICODE_STRING
param_path;
            UNICODE_STRING
pkeyString;
            UNICODE_STRING
empy_string;
@@ -431,7 +431,19 @@
            table[8].EntryContext = &pkeyString;
            table[8].DefaultType  = REG_SZ;
            table[8].DefaultData  = &empy_string;
-           table[8].DefaultLength = 1024*sizeof(WCHAR);
+          table[9].Flags = RTL_QUERY_REGISTRY_DIRECT;
+          table[9].Name = L"McDestroyRetryCount";
+          table[9].EntryContext = &g_mc_destroy_retry_count;
+          table[9].DefaultType = REG_DWORD;
+          table[9].DefaultData = &g_mc_destroy_retry_count;
+          table[9].DefaultLength = sizeof(ULONG);
+
+          table[10].Flags = RTL_QUERY_REGISTRY_DIRECT;
+          table[10].Name = L"McDestroyRetryTimeout";
+          table[10].EntryContext = &g_mc_destroy_retry_timeout;
+          table[10].DefaultType = REG_DWORD;
+          table[10].DefaultData = &g_mc_destroy_retry_timeout;
+          table[10].DefaultLength = sizeof(ULONG);
            /* Have at it! */
            status = RtlQueryRegistryValues( RTL_REGISTRY_ABSOLUTE, 
                        param_path.Buffer, table, NULL, NULL );
 
Slava Strebkov
SW Engineer
Voltaire
099718750
 
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.openfabrics.org/pipermail/ofw/attachments/20080617/3bb1763a/attachment.html>
-------------- next part --------------
A non-text attachment was scrubbed...
Name: mc_destroy_retry_count.diff
Type: application/octet-stream
Size: 2915 bytes
Desc: mc_destroy_retry_count.diff
URL: <http://lists.openfabrics.org/pipermail/ofw/attachments/20080617/3bb1763a/attachment.obj>
    
    
More information about the ofw
mailing list