Skip to contentSkip to conversation

Running SPDK without app framework

SPDK Stojaczyk 1 participant 2 messages Feb 3, 2020 – Mar 27, 2020

lore
Share & tools
lore

Stojaczyk

#0 lore raw

Tomek, I'm looking through your patch example/fio: add option to load json_config [1] and have some concerns to the overall design of applications utilizing SPDK without the app framework. First of all, we seem to use spdk_app_json_config_load() to load a JSON config in fio_plugin. The spdk_app_ prefix in that function suggests it's the app framework API, which we don't use in fio_plugin. I'm guessing it should be at least renamed? spdk_json_config_load() maybe?

spdk_app_json_config_load() is defined in spdk_internal/event.h. Why is this internal anyway? This practically forces external SPDK users to stick with either legacy json config files, or spdk_app_start(). The question is where should we move it? lib/event.h is currently specific to the app framework. Do you have any plans for SPDK app design without the app framework? I'm guessing we do want to support it (see fio_plugin), but currently it's messy.

D.

[1] https://review.gerrithub.io/c/spdk/spdk/+/463979/

#1 lore raw

Bump. This is actually kicking me in the ass now. :) I would like to utilize spdk_app_opts->json_config_ignore_errors in fio_plugin, but there are no spdk_app_opts there.

We must get this straight. Let's put in the planning.

D.

_____________________________________________
From: Stojaczyk, Dariusz
Sent: Monday, February 3, 2020 1:17 PM
To: Zawadzki, Tomasz <tomasz.zawadzki(a)intel.com>
Cc: Storage Performance Development Kit <spdk(a)lists.01.org>
Subject: Running SPDK without app framework

Tomek, I'm looking through your patch example/fio: add option to load json_config [1] and have some concerns to the overall design of applications utilizing SPDK without the app framework. First of all, we seem to use spdk_app_json_config_load() to load a JSON config in fio_plugin. The spdk_app_ prefix in that function suggests it's the app framework API, which we don't use in fio_plugin. I'm guessing it should be at least renamed? spdk_json_config_load() maybe?

spdk_app_json_config_load() is defined in spdk_internal/event.h. Why is this internal anyway? This practically forces external SPDK users to stick with either legacy json config files, or spdk_app_start(). The question is where should we move it? lib/event.h is currently specific to the app framework. Do you have any plans for SPDK app design without the app framework? I'm guessing we do want to support it (see fio_plugin), but currently it's messy.

D.

[1] https://review.gerrithub.io/c/spdk/spdk/+/463979/