Subject: Re: RE: [PATCH 2/5] [RFC] Infiniband: connection abstraction

From: Sean Hefty <[email-masked]>
Date: Wed, 18 Jan 2006 09:46:03 -0800

Grant Grundler wrote:
>>+static void cm_mask_compare_data(u8 *dst, u8 *src, u8 *mask)
>>+{
>>+	int i;
>>+
>>+	for (i = 0; i < IB_CM_PRIVATE_DATA_COMPARE_SIZE; i++)
>>+		dst[i] = src[i] & mask[i];
>>+}
> 
> Is this code going to get invoked very often?

In practice, it would be invoked when matching any listen requests originating 
from the CMA (RDMA connection abstraction).

> If so, can the mask operation use a "native" size since
> IB_CM_PRIVATE_DATA_COMPARE_SIZE is hard coded to 64 byte?
> 
> e.g something like:
> 	for (i = 0; i < IB_CM_PRIVATE_DATA_COMPARE_SIZE/sizeof(unsigned long);
> 									i++)
> 		((unsigned long *)dst)[i] = ((unsigned long *)src)[i] 
> 						& ((unsigned long *)mask)[i];

Yes - something like this should work.  Thanks.

- Sean