From e68aebd50bc03f4bef206833803fb0eb2cf1c28a Mon Sep 17 00:00:00 2001 From: paul luse Date: Tue, 15 Mar 2022 09:55:33 -0700 Subject: [PATCH] lib/accel: remove public API for getting capabilities First in a series of patches that will enable multiple engines to exist at once and choose the best one based on their priorities and capabilites, the public API will no longer be needed. Signed-off-by: paul luse Change-Id: Ia87b83aa2263745a94a822a160b6e97bb2e0dc19 Reviewed-on: https://review.spdk.io/gerrit/c/spdk/spdk/+/11948 Community-CI: Broadcom CI Community-CI: Mellanox Build Bot Tested-by: SPDK CI Jenkins Reviewed-by: Aleksey Marchuk Reviewed-by: Jim Harris --- CHANGELOG.md | 2 ++ examples/accel/perf/accel_perf.c | 18 ------------------ include/spdk/accel_engine.h | 9 --------- lib/accel/accel_engine.c | 9 --------- lib/accel/spdk_accel.map | 1 - test/unit/lib/accel/accel.c/accel_engine_ut.c | 16 ---------------- 6 files changed, 2 insertions(+), 53 deletions(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index 4d1dcd79d..0cb265a6a 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -26,6 +26,8 @@ The APIs include: A new flag `ACCEL_FLAG_PERSISTENT` was added to indicate the target memory is PMEM. +The API `spdk_accel_get_capabilities` has been removed. + ### crypto Support for AES_XTS was added for MLX5 polled mode driver (pmd). diff --git a/examples/accel/perf/accel_perf.c b/examples/accel/perf/accel_perf.c index e2f628238..8a52d0a04 100644 --- a/examples/accel/perf/accel_perf.c +++ b/examples/accel/perf/accel_perf.c @@ -612,19 +612,6 @@ _worker_stop(void *arg) return SPDK_POLLER_BUSY; } -static inline void -identify_accel_engine_usage(struct spdk_io_channel *ch) -{ - uint64_t capabilities; - - assert(ch != NULL); - capabilities = spdk_accel_get_capabilities(ch); - if ((capabilities & g_workload_selection) != g_workload_selection) { - SPDK_WARNLOG("The selected workload is not natively supported by the current engine\n"); - SPDK_WARNLOG("The software engine will be used instead.\n\n"); - } -} - static void _init_thread(void *arg1) { @@ -646,17 +633,12 @@ _init_thread(void *arg1) worker->core = spdk_env_get_current_core(); worker->thread = spdk_get_thread(); pthread_mutex_lock(&g_workers_lock); - i = g_num_workers; g_num_workers++; worker->next = g_workers; g_workers = worker; pthread_mutex_unlock(&g_workers_lock); worker->ch = spdk_accel_engine_get_io_channel(); - if (i == 0) { - identify_accel_engine_usage(worker->ch); - } - TAILQ_INIT(&worker->tasks_pool); worker->task_base = calloc(num_tasks, sizeof(struct ap_task)); diff --git a/include/spdk/accel_engine.h b/include/spdk/accel_engine.h index 8f1028bcd..d38835fef 100644 --- a/include/spdk/accel_engine.h +++ b/include/spdk/accel_engine.h @@ -101,15 +101,6 @@ void spdk_accel_engine_module_finish(void); */ struct spdk_io_channel *spdk_accel_engine_get_io_channel(void); -/** - * Retrieve accel engine HW acceleration capabilities. - * - * \param ch I/O channel associated with this call. - * - * \return bitmap of HW acceleration capabilities defined by enum accel_capability. - */ -uint64_t spdk_accel_get_capabilities(struct spdk_io_channel *ch); - /** * Submit a copy request. * diff --git a/lib/accel/accel_engine.c b/lib/accel/accel_engine.c index c2e0e34af..dff1a0904 100644 --- a/lib/accel/accel_engine.c +++ b/lib/accel/accel_engine.c @@ -128,15 +128,6 @@ spdk_accel_task_complete(struct spdk_accel_task *accel_task, int status) cb_fn(cb_arg, status); } -/* Accel framework public API for discovering current engine capabilities. */ -uint64_t -spdk_accel_get_capabilities(struct spdk_io_channel *ch) -{ - struct accel_io_channel *accel_ch = spdk_io_channel_get_ctx(ch); - - return accel_ch->engine->capabilities; -} - inline static struct spdk_accel_task * _get_task(struct accel_io_channel *accel_ch, spdk_accel_completion_cb cb_fn, void *cb_arg) { diff --git a/lib/accel/spdk_accel.map b/lib/accel/spdk_accel.map index fb1164fa1..f695392d9 100644 --- a/lib/accel/spdk_accel.map +++ b/lib/accel/spdk_accel.map @@ -6,7 +6,6 @@ spdk_accel_engine_finish; spdk_accel_engine_module_finish; spdk_accel_engine_get_io_channel; - spdk_accel_get_capabilities; spdk_accel_submit_copy; spdk_accel_submit_dualcast; spdk_accel_submit_compare; diff --git a/test/unit/lib/accel/accel.c/accel_engine_ut.c b/test/unit/lib/accel/accel.c/accel_engine_ut.c index c98d89645..71ec13983 100644 --- a/test/unit/lib/accel/accel.c/accel_engine_ut.c +++ b/test/unit/lib/accel/accel.c/accel_engine_ut.c @@ -161,21 +161,6 @@ test_spdk_accel_task_complete(void) CU_ASSERT(expected_accel_task == &accel_task); } -static void -test_spdk_accel_get_capabilities(void) -{ - uint64_t cap, expected_cap; - - /* Setup a few capabilities and make sure they are reported as expected. */ - g_accel_ch->engine = &g_accel_engine; - expected_cap = ACCEL_COPY | ACCEL_DUALCAST | ACCEL_CRC32C; - g_accel_ch->engine->capabilities = expected_cap; - - cap = spdk_accel_get_capabilities(g_ch); - CU_ASSERT(cap == expected_cap); -} - - static void test_get_task(void) { @@ -799,7 +784,6 @@ int main(int argc, char **argv) CU_ADD_TEST(suite, test_accel_sw_unregister); CU_ADD_TEST(suite, test_is_supported); CU_ADD_TEST(suite, test_spdk_accel_task_complete); - CU_ADD_TEST(suite, test_spdk_accel_get_capabilities); CU_ADD_TEST(suite, test_get_task); CU_ADD_TEST(suite, test_spdk_accel_submit_copy); CU_ADD_TEST(suite, test_spdk_accel_submit_dualcast);