[openib-general] OFED 1.0 - error while running ib_rdma_bw
Or Gerlitz
ogerlitz at voltaire.com
Sun Jun 18 05:13:06 PDT 2006
Running ib_rdma_bw (eg from the trunk but also with OFED) from time to time outputs the following message:
server read: Success
0/45: Couldn't read remote address
Looking in the code, line 148 (and actually 142 as well) seems to be buggy:
133 struct pingpong_dest * pp_client_exch_dest(int sockfd,
134 const struct pingpong_dest *my_dest)
135 {
136 struct pingpong_dest *rem_dest = NULL;
137 char msg[sizeof "0000:000000:000000:00000000:0000000000000000"];
138 int parsed;
139
140 sprintf(msg, "%04x:%06x:%06x:%08x:%016Lx", my_dest->lid, my_dest->qpn,
141 my_dest->psn,my_dest->rkey,my_dest->vaddr);
142 if (write(sockfd, msg, sizeof msg) != sizeof msg) {
143 perror("client write");
144 fprintf(stderr, "Couldn't send local address\n");
145 goto out;
146 }
147
148 if (read(sockfd, msg, sizeof msg) != sizeof msg) {
149 perror("client read");
150 fprintf(stderr, "Couldn't read remote address\n");
151 goto out;
152 }
as read(2) can read less then the max (expected) bytes count, and indeed error is 0 (no error)
when the print is seen.
The below script wouls allow you to easily reproduce it.
At some point, there's also an IB completion with error printed, but it might be realated to the socket handling bug
Or.
SERVER=dill
echo ""
for i in 16384 32768 65536 131072 262144 524288 1048576 2097152
do
for k in 4
do
ssh $SERVER "/usr/local/ofed/bin/ib_rdma_bw" &
sleep 5
echo $(date) -s = $i -n = $((512*1024*1024/$i)) -t = $k start
/usr/local/ofed/bin/ib_rdma_bw $SERVER -s $i -n $((512*1024*1024/$i)) -t $k
echo $(date) -s = $i -n = $((512*1024*1024/$i)) sleeping 3 seconds.....
sleep 3
echo $(date) -s = $i -n = $((512*1024*1024/$i)) end
echo ""
wait
done
done
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.openfabrics.org/pipermail/general/attachments/20060618/1176fb1c/attachment.html>
More information about the general
mailing list