[ofw] [PATCH] use compiler intrinsics instead of complib 2 of 5

Smith, Stan stan.smith at intel.com
Tue Dec 28 14:01:04 PST 2010


Use compiler intrinsics and Ndis routines instead of complib routines for performance & debug.

cl_memclr --> NdisZeroMemory
cl_memcpy --> NdisMoveMemory
cl_memcmp --> memcmp
cl_memset --> memset

signed-off-by: stan smith <stan.smith at intel.com>

--- A/ulp/ipoib_ndis6_cm/kernel/ipoib_driver.cpp        Wed Dec 22 10:56:54 2010
+++ B/ulp/ipoib_NDIS6_CM/kernel/ipoib_driver.cpp        Tue Dec 28 11:37:25 2010
@@ -534,7 +534,7 @@
         * Clear the table.  This clears all the query callback pointers,
         * and sets up the terminating table entry.
         */
-       cl_memclr( table, sizeof(table) );
+       NdisZeroMemory( table, sizeof(table) );

        /* Setup the table entries. */
        table[0].Flags = RTL_QUERY_REGISTRY_DIRECT;
@@ -3585,7 +3585,7 @@
                        ASSERT( p_net_addr_oid->AddressType == NDIS_PROTOCOL_ID_TCP_IP );

                        p_ip_addr = (PNETWORK_ADDRESS_IP)p_net_addr_oid->Address;
-                       if( !cl_memcmp( &p_ip_addr->in_addr,
+                       if( !memcmp( &p_ip_addr->in_addr,
                                &p_addr_item->address.as_ulong, sizeof(ULONG) ) )
                        {
                                break;
@@ -3652,7 +3652,7 @@
                        cl_vector_set_size( &p_adapter->ip_vector, idx + 1 );

                p_addr_item = (net_address_item_t *) cl_vector_get_ptr( &p_adapter->ip_vector, idx );
-               if( !cl_memcmp( &p_ip_addr->in_addr, &p_addr_item->address.as_ulong,
+               if( !memcmp( &p_ip_addr->in_addr, &p_addr_item->address.as_ulong,
                        sizeof(ULONG) ) )
                {
                        idx++;
@@ -3755,7 +3755,7 @@
        port_num = p_adapter->guids.port_num;

        /* Setup our service call with things common to all calls */
-       cl_memset( &ib_service, 0, sizeof(ib_service) );
+       NdisZeroMemory( &ib_service, sizeof(ib_service) );

        /* BUGBUG Only register local subnet GID prefix for now */
        ib_gid_set_default( &port_gid, p_adapter->guids.port_guid.guid );
@@ -3816,7 +3816,7 @@
                /* ATS service IDs start at 0x10000CE100415453 */
                ib_service.svc_rec.service_id |= ((uint64_t)(idx + 0x53)) << 56;

-               cl_memcpy( &ib_service.svc_rec.service_data8[ATS_IPV4_OFFSET],
+               NdisMoveMemory( &ib_service.svc_rec.service_data8[ATS_IPV4_OFFSET],
                        p_addr_item->address.as_bytes, IPV4_ADDR_SIZE );

                /* Take a reference for each service request. */
-------------- next part --------------
A non-text attachment was scrubbed...
Name: ipoib_driver.cpp.patch
Type: application/octet-stream
Size: 1907 bytes
Desc: ipoib_driver.cpp.patch
URL: <http://lists.openfabrics.org/pipermail/ofw/attachments/20101228/2eb1fd12/attachment.obj>


More information about the ofw mailing list