diff --git a/fabtests/Makefile.am b/fabtests/Makefile.am
index 3e86d30dd79..b97ca169e5f 100644
--- a/fabtests/Makefile.am
+++ b/fabtests/Makefile.am
@@ -24,7 +24,6 @@ bin_PROGRAMS = \
functional/fi_mcast \
functional/fi_rdm_tagged_peek \
functional/fi_cq_data \
- functional/fi_poll \
functional/fi_scalable_ep \
functional/fi_shared_ctx \
functional/fi_msg_epoll \
@@ -160,7 +159,6 @@ nobase_dist_config_DATA = \
pytest/default/test_msg.py \
pytest/default/test_multinode.py \
pytest/default/test_multi_recv.py \
- pytest/default/test_poll.py \
pytest/default/test_rdm.py \
pytest/default/test_recv_cancel.py \
pytest/default/test_rma_bw.py \
@@ -316,10 +314,6 @@ functional_fi_shared_ctx_SOURCES = \
functional/shared_ctx.c
functional_fi_shared_ctx_LDADD = libfabtests.la
-functional_fi_poll_SOURCES = \
- functional/poll.c
-functional_fi_poll_LDADD = libfabtests.la
-
functional_fi_multi_ep_SOURCES = \
functional/multi_ep.c
functional_fi_multi_ep_LDADD = libfabtests.la
@@ -626,7 +620,6 @@ dummy_man_pages = \
man/man1/fi_msg_sockets.1 \
man/man1/fi_multi_ep.1 \
man/man1/fi_multi_mr.1 \
- man/man1/fi_poll.1 \
man/man1/fi_rdm.1 \
man/man1/fi_rdm_atomic.1 \
man/man1/fi_rdm_deferred_wq.1 \
diff --git a/fabtests/Makefile.win b/fabtests/Makefile.win
index 2eead3de38a..dc3a28fe0b6 100644
--- a/fabtests/Makefile.win
+++ b/fabtests/Makefile.win
@@ -80,7 +80,7 @@ benchmarks: $(outdir)\dgram_pingpong.exe $(outdir)\msg_bw.exe \
functional: $(outdir)\av_xfer.exe $(outdir)\bw.exe $(outdir)\cm_data.exe $(outdir)\cq_data.exe \
$(outdir)\dgram.exe $(outdir)\msg.exe $(outdir)\msg_epoll.exe \
$(outdir)\inject_test.exe $(outdir)\msg_sockets.exe $(outdir)\multi_mr.exe \
- $(outdir)\multi_ep.exe $(outdir)\multi_recv.exe $(outdir)\poll.exe $(outdir)\rdm.exe \
+ $(outdir)\multi_ep.exe $(outdir)\multi_recv.exe $(outdir)\rdm.exe \
$(outdir)\rdm_atomic.exe $(outdir)\rdm_multi_client.exe $(outdir)\rdm_rma_event.exe \
$(outdir)\rdm_rma_trigger.exe $(outdir)\rdm_shared_av.exe $(outdir)\rdm_tagged_peek.exe \
$(outdir)\recv_cancel.exe $(outdir)\scalable_ep.exe $(outdir)\shared_ctx.exe \
@@ -142,8 +142,6 @@ $(outdir)\multi_ep.exe: {functional}multi_ep.c $(basedeps)
$(outdir)\multi_recv.exe: {functional}multi_recv.c $(basedeps)
-$(outdir)\poll.exe: {functional}poll.c $(basedeps)
-
$(outdir)\rdm.exe: {functional}rdm.c $(basedeps)
$(outdir)\rdm_atomic.exe: {functional}rdm_atomic.c $(basedeps)
diff --git a/fabtests/fabtests.vcxproj b/fabtests/fabtests.vcxproj
index 67c1d9f5876..cba59f15c1a 100644
--- a/fabtests/fabtests.vcxproj
+++ b/fabtests/fabtests.vcxproj
@@ -231,7 +231,6 @@
-
diff --git a/fabtests/fabtests.vcxproj.filters b/fabtests/fabtests.vcxproj.filters
index b4085a0561e..d3f495b81e2 100644
--- a/fabtests/fabtests.vcxproj.filters
+++ b/fabtests/fabtests.vcxproj.filters
@@ -90,9 +90,6 @@
Source Files\functional
-
- Source Files\functional
-
Source Files\functional
diff --git a/fabtests/functional/poll.c b/fabtests/functional/poll.c
deleted file mode 100644
index f9a2079c94f..00000000000
--- a/fabtests/functional/poll.c
+++ /dev/null
@@ -1,290 +0,0 @@
-/*
- * Copyright (c) 2013-2015 Intel Corporation. All rights reserved.
- * Copyright (c) 2015 Cisco Systems, Inc. All rights reserved.
- *
- * This software is available to you under the BSD license below:
- *
- * Redistribution and use in source and binary forms, with or
- * without modification, are permitted provided that the following
- * conditions are met:
- *
- * - Redistributions of source code must retain the above
- * copyright notice, this list of conditions and the following
- * disclaimer.
- *
- * - Redistributions in binary form must reproduce the above
- * copyright notice, this list of conditions and the following
- * disclaimer in the documentation and/or other materials
- * provided with the distribution.
- *
- * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
- * EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
- * MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
- * NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS
- * BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN
- * ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN
- * CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
- * SOFTWARE.
- */
-
-#include
-#include
-#include
-#include
-#include
-
-#include
-#include
-
-#include
-
-#define MAX_POLL_CNT 10
-
-static int alloc_ep_res(struct fi_info *fi)
-{
- struct fi_poll_attr poll_attr;
- int ret;
-
- ret = ft_alloc_active_res(fi);
- if (ret)
- return ret;
-
- memset(&poll_attr, 0, sizeof poll_attr);
- ret = fi_poll_open(domain, &poll_attr, &pollset);
- if (ret) {
- FT_PRINTERR("fi_poll_open", ret);
- return ret;
- }
-
- if (txcq) {
- ret = fi_poll_add(pollset, &txcq->fid, 0);
- if (ret)
- goto err;
- }
-
- if (rxcq) {
- ret = fi_poll_add(pollset, &rxcq->fid, 0);
- if (ret)
- goto err;
- }
-
- if (txcntr) {
- ret = fi_poll_add(pollset, &txcntr->fid, 0);
- if (ret)
- goto err;
- }
-
- if (rxcntr) {
- ret = fi_poll_add(pollset, &rxcntr->fid, 0);
- if (ret)
- goto err;
- }
-
- return 0;
-err:
- FT_PRINTERR("fi_poll_add", ret);
- return ret;
-}
-
-static int free_poll_res(void)
-{
- int ret;
-
- if (!pollset)
- return 0;
-
- if (txcq) {
- ret = fi_poll_del(pollset, &txcq->fid, 0);
- if (ret)
- goto err;
- }
-
- if (rxcq) {
- ret = fi_poll_del(pollset, &rxcq->fid, 0);
- if (ret)
- goto err;
- }
-
- if (txcntr) {
- ret = fi_poll_del(pollset, &txcntr->fid, 0);
- if (ret)
- goto err;
- }
-
- if (rxcntr) {
- ret = fi_poll_del(pollset, &rxcntr->fid, 0);
- if (ret)
- goto err;
- }
- return 0;
-err:
- FT_PRINTERR("fi_poll_del", ret);
- return ret;
-}
-
-static int init_fabric(void)
-{
- int ret;
-
- ret = ft_init();
- if (ret)
- return ret;
-
- ret = ft_init_oob();
- if (ret)
- return ret;
-
- ret = ft_getinfo(hints, &fi);
- if (ret)
- return ret;
-
- ret = ft_open_fabric_res();
- if (ret)
- return ret;
-
- ret = alloc_ep_res(fi);
- if (ret)
- return ret;
-
- ret = ft_enable_ep_recv();
- if (ret)
- return ret;
- return 0;
-}
-
-static int send_recv()
-{
- struct fid_cq *cq;
- void *context[MAX_POLL_CNT];
- struct fi_cq_entry comp;
- int ret;
- int ret_count = 0;
- int i, tx_cntr_val = 0, rx_cntr_val = 0;
-
- fprintf(stdout, "Posting a send...\n");
- ret = ft_post_tx(ep, remote_fi_addr, tx_size, NO_CQ_DATA, &tx_ctx);
- if (ret)
- return ret;
-
- while (((opts.options & FT_OPT_TX_CQ) && (tx_cq_cntr < tx_seq)) ||
- ((opts.options & FT_OPT_TX_CNTR) && (tx_cntr_val < tx_seq)) ||
- ((opts.options & FT_OPT_RX_CQ) && (rx_cq_cntr < rx_seq)) ||
- ((opts.options & FT_OPT_RX_CNTR) && (rx_cntr_val < rx_seq))) {
-
- /* Poll send and recv CQs/Cntrs */
- do {
- ret_count = fi_poll(pollset, context, MAX_POLL_CNT);
- if (ret_count < 0) {
- FT_PRINTERR("fi_poll", ret_count);
- return ret_count;
- }
- } while (!ret_count);
-
- fprintf(stdout, "Retrieved %d event(s)\n", ret_count);
-
- for (i = 0; i < ret_count; i++) {
- if (context[i] == &txcq) {
- printf("Send completion received\n");
- cq = txcq;
- tx_cq_cntr++;
- } else if (context[i] == &rxcq) {
- printf("Recv completion received\n");
- cq = rxcq;
- rx_cq_cntr++;
- } else if (context[i] == &txcntr) {
- printf("Send counter poll-event\n");
- tx_cntr_val = fi_cntr_read(txcntr);
- if (tx_cntr_val > tx_seq) {
- FT_ERR("Invalid tx counter event\n");
- FT_ERR("expected: %" PRIu64 ", found: "
- "%d\n", tx_seq, tx_cntr_val);
- return -1;
- }
- continue;
- } else if (context[i] == &rxcntr) {
- printf("Recv counter poll-event\n");
- rx_cntr_val = fi_cntr_read(rxcntr);
- if (rx_cntr_val > rx_seq) {
- FT_ERR("Invalid rx counter event\n");
- FT_ERR("expected: %" PRIu64 ", found: "
- "%d\n", rx_seq, rx_cntr_val);
- return -1;
- }
- continue;
- } else {
- FT_ERR("Unknown completion received\n");
- return -1;
- }
-
- /* Read the completion entry */
- ret = fi_cq_read(cq, &comp, 1);
- if (ret < 0) {
- if (ret == -FI_EAVAIL) {
- ret = ft_cq_readerr(cq);
- } else {
- FT_PRINTERR("fi_cq_read", ret);
- }
- return ret;
- }
- }
- }
-
- return 0;
-}
-
-static int run(void)
-{
- int ret;
-
- ret = init_fabric();
- if (ret)
- return ret;
-
- ret = ft_init_av();
- if (ret)
- return ret;
-
- return send_recv();
-}
-
-int main(int argc, char **argv)
-{
- int op, ret = 0;
-
- opts = INIT_OPTS;
- opts.options |= FT_OPT_SIZE;
-
- hints = fi_allocinfo();
- if (!hints)
- return EXIT_FAILURE;
-
- while ((op = getopt(argc, argv, "h" CS_OPTS INFO_OPTS)) != -1) {
- switch (op) {
- default:
- ft_parse_addr_opts(op, optarg, &opts);
- ft_parseinfo(op, optarg, hints, &opts);
- ft_parsecsopts(op, optarg, &opts);
- break;
- case '?':
- case 'h':
- ft_usage(argv[0], "A client-server example that uses poll.\n");
- FT_PRINT_OPTS_USAGE("-t ", "completion type [queue, counter]");
- return EXIT_FAILURE;
- }
- }
-
- if (optind < argc)
- opts.dst_addr = argv[optind];
-
- hints->ep_attr->type = FI_EP_RDM;
- hints->caps = FI_MSG;
- hints->mode = FI_CONTEXT;
- hints->domain_attr->mr_mode = opts.mr_mode;
- hints->addr_format = opts.address_format;
-
- ret = run();
-
- free_poll_res();
- ft_free_res();
- return ft_exit_code(ret);
-}
diff --git a/fabtests/man/fabtests.7.md b/fabtests/man/fabtests.7.md
index e2d0321438b..4f31360e1cc 100644
--- a/fabtests/man/fabtests.7.md
+++ b/fabtests/man/fabtests.7.md
@@ -77,10 +77,6 @@ features of libfabric.
completion counters of inbound writes as the notification
mechanism.
-*fi_poll*
-: Exchanges data over RDM endpoints using poll sets to drive
- completion notifications.
-
*fi_rdm*
: A basic RDM endpoint example.
diff --git a/fabtests/pytest/default/test_poll.py b/fabtests/pytest/default/test_poll.py
deleted file mode 100644
index a3aa6ec35fc..00000000000
--- a/fabtests/pytest/default/test_poll.py
+++ /dev/null
@@ -1,9 +0,0 @@
-import pytest
-
-@pytest.mark.functional
-@pytest.mark.parametrize("poll_type", ["queue", "counter"])
-def test_poll(cmdline_args, poll_type):
- from common import ClientServerTest
- test = ClientServerTest(cmdline_args, "fi_poll -t " + poll_type)
- test.run()
-
diff --git a/fabtests/scripts/runfabtests.cmd b/fabtests/scripts/runfabtests.cmd
index 2086ac42340..d362f905cd1 100644
--- a/fabtests/scripts/runfabtests.cmd
+++ b/fabtests/scripts/runfabtests.cmd
@@ -66,8 +66,6 @@ set functional_tests=^
"msg"^
"msg_epoll"^
"msg_sockets"^
- "poll -t queue"^
- "poll -t counter"^
"rdm"^
"rdm -U"^
"rdm_tagged_peek"^
diff --git a/fabtests/scripts/runfabtests.sh b/fabtests/scripts/runfabtests.sh
index 977f9fdf84b..e6ad879d4e5 100755
--- a/fabtests/scripts/runfabtests.sh
+++ b/fabtests/scripts/runfabtests.sh
@@ -111,8 +111,6 @@ functional_tests=(
"fi_msg"
"fi_msg_epoll"
"fi_msg_sockets"
- "fi_poll -t queue"
- "fi_poll -t counter"
"fi_rdm"
"fi_rdm -U"
"fi_rdm_rma_event"