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

Function krping_bw_test_client

freebsd/contrib/rdma/krping/krping.c:1688–1725  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

1686}
1687
1688static void krping_bw_test_client(struct krping_cb *cb)
1689{
1690 struct ib_send_wr *bad_wr;
1691 struct ib_wc wc;
1692 int ret;
1693
1694 cb->state = RDMA_READ_ADV;
1695
1696 /* Send STAG/TO/Len to client */
1697 krping_format_send(cb, cb->start_dma_addr);
1698 if (cb->state == ERROR) {
1699 printk(KERN_ERR PFX "krping_format_send failed\n");
1700 return;
1701 }
1702 ret = ib_post_send(cb->qp, &cb->sq_wr, &bad_wr);
1703 if (ret) {
1704 printk(KERN_ERR PFX "post send error %d\n", ret);
1705 return;
1706 }
1707
1708 /* Spin waiting for send completion */
1709 while ((ret = ib_poll_cq(cb->cq, 1, &wc) == 0));
1710 if (ret < 0) {
1711 printk(KERN_ERR PFX "poll error %d\n", ret);
1712 return;
1713 }
1714 if (wc.status) {
1715 printk(KERN_ERR PFX "send completion error %d\n", wc.status);
1716 return;
1717 }
1718
1719 /* Spin waiting for server's Start STAG/TO/Len */
1720 while (cb->state < RDMA_WRITE_ADV) {
1721 krping_cq_event_handler(cb->cq, cb);
1722 }
1723
1724 bw_test(cb);
1725}
1726
1727/*
1728 * Manual qp flush test

Callers 1

krping_run_clientFunction · 0.85

Calls 3

krping_format_sendFunction · 0.85
krping_cq_event_handlerFunction · 0.85
bw_testFunction · 0.85

Tested by

no test coverage detected