MCPcopy Create free account
hub / github.com/F-Stack/f-stack / krping_bw_test_server

Function krping_bw_test_server

freebsd/contrib/rdma/krping/krping.c:1331–1364  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

1329}
1330
1331static void krping_bw_test_server(struct krping_cb *cb)
1332{
1333 struct ib_send_wr *bad_wr;
1334 struct ib_wc wc;
1335 int ret;
1336
1337 /* Spin waiting for client's Start STAG/TO/Len */
1338 while (cb->state < RDMA_READ_ADV) {
1339 krping_cq_event_handler(cb->cq, cb);
1340 }
1341
1342 /* Send STAG/TO/Len to client */
1343 krping_format_send(cb, cb->start_dma_addr);
1344 ret = ib_post_send(cb->qp, &cb->sq_wr, &bad_wr);
1345 if (ret) {
1346 printk(KERN_ERR PFX "post send error %d\n", ret);
1347 return;
1348 }
1349
1350 /* Spin waiting for send completion */
1351 while ((ret = ib_poll_cq(cb->cq, 1, &wc) == 0));
1352 if (ret < 0) {
1353 printk(KERN_ERR PFX "poll error %d\n", ret);
1354 return;
1355 }
1356 if (wc.status) {
1357 printk(KERN_ERR PFX "send completiong error %d\n", wc.status);
1358 return;
1359 }
1360
1361 if (cb->duplex)
1362 bw_test(cb);
1363 wait_event_interruptible(cb->sem, cb->state == ERROR);
1364}
1365
1366static int reg_supported(struct ib_device *dev)
1367{

Callers 1

krping_run_serverFunction · 0.85

Calls 3

krping_cq_event_handlerFunction · 0.85
krping_format_sendFunction · 0.85
bw_testFunction · 0.85

Tested by

no test coverage detected