Commit 3d9f1936 authored by Jim Harris's avatar Jim Harris
Browse files

test/nvme: add g_ prefix to aer global variables



Signed-off-by: default avatarJim Harris <james.r.harris@intel.com>
Change-Id: I41b9461f2f992a65c3a8906f3a5f7c9a743aa496

Reviewed-on: https://review.gerrithub.io/c/spdk/spdk/+/452803


Tested-by: default avatarSPDK CI Jenkins <sys_sgci@intel.com>
Reviewed-by: default avatarBen Walker <benjamin.walker@intel.com>
Reviewed-by: default avatarShuhei Matsumoto <shuhei.matsumoto.xt@hitachi.com>
parent 4de00fed
Loading
Loading
Loading
Loading
+65 −65
Original line number Diff line number Diff line
@@ -50,41 +50,41 @@ struct dev {

static void get_feature_test(struct dev *dev);

static struct dev devs[MAX_DEVS];
static int num_devs = 0;
static struct dev g_devs[MAX_DEVS];
static int g_num_devs = 0;

#define foreach_dev(iter) \
	for (iter = devs; iter - devs < num_devs; iter++)
	for (iter = g_devs; iter - g_devs < g_num_devs; iter++)

static int outstanding_commands = 0;
static int aer_done = 0;
static int temperature_done = 0;
static int failed = 0;
static int g_outstanding_commands = 0;
static int g_aer_done = 0;
static int g_temperature_done = 0;
static int g_failed = 0;
static struct spdk_nvme_transport_id g_trid;

/* Enable AER temperature test */
static int enable_temp_test = 0;
static int g_enable_temp_test = 0;
/* Enable AER namespace attribute notice test, this variable holds
 * the NSID that is expected to be in the Changed NS List.
 */
static uint32_t expected_ns_test = 0;
static uint32_t g_expected_ns_test = 0;

static void
set_temp_completion(void *cb_arg, const struct spdk_nvme_cpl *cpl)
{
	struct dev *dev = cb_arg;

	outstanding_commands--;
	g_outstanding_commands--;

	if (spdk_nvme_cpl_is_error(cpl)) {
		printf("%s: set feature (temp threshold) failed\n", dev->name);
		failed = 1;
		g_failed = 1;
		return;
	}

	/* Admin command completions are synchronized by the NVMe driver,
	 * so we don't need to do any special locking here. */
	temperature_done++;
	g_temperature_done++;
}

static int
@@ -99,7 +99,7 @@ set_temp_threshold(struct dev *dev, uint32_t temp)

	rc = spdk_nvme_ctrlr_cmd_admin_raw(dev->ctrlr, &cmd, NULL, 0, set_temp_completion, dev);
	if (rc == 0) {
		outstanding_commands++;
		g_outstanding_commands++;
	}

	return rc;
@@ -110,11 +110,11 @@ get_temp_completion(void *cb_arg, const struct spdk_nvme_cpl *cpl)
{
	struct dev *dev = cb_arg;

	outstanding_commands--;
	g_outstanding_commands--;

	if (spdk_nvme_cpl_is_error(cpl)) {
		printf("%s: get feature (temp threshold) failed\n", dev->name);
		failed = 1;
		g_failed = 1;
		return;
	}

@@ -122,7 +122,7 @@ get_temp_completion(void *cb_arg, const struct spdk_nvme_cpl *cpl)
	printf("%s: original temperature threshold: %u Kelvin (%d Celsius)\n",
	       dev->name, dev->orig_temp_threshold, dev->orig_temp_threshold - 273);

	temperature_done++;
	g_temperature_done++;
}

static int
@@ -136,7 +136,7 @@ get_temp_threshold(struct dev *dev)

	rc = spdk_nvme_ctrlr_cmd_admin_raw(dev->ctrlr, &cmd, NULL, 0, get_temp_completion, dev);
	if (rc == 0) {
		outstanding_commands++;
		g_outstanding_commands++;
	}

	return rc;
@@ -154,16 +154,16 @@ get_health_log_page_completion(void *cb_arg, const struct spdk_nvme_cpl *cpl)
{
	struct dev *dev = cb_arg;

	outstanding_commands --;
	g_outstanding_commands --;

	if (spdk_nvme_cpl_is_error(cpl)) {
		printf("%s: get log page failed\n", dev->name);
		failed = 1;
		g_failed = 1;
		return;
	}

	print_health_page(dev, dev->health_page);
	aer_done++;
	g_aer_done++;
}

static void
@@ -173,11 +173,11 @@ get_changed_ns_log_page_completion(void *cb_arg, const struct spdk_nvme_cpl *cpl
	bool found = false;
	uint32_t i;

	outstanding_commands --;
	g_outstanding_commands --;

	if (spdk_nvme_cpl_is_error(cpl)) {
		printf("%s: get log page failed\n", dev->name);
		failed = 1;
		g_failed = 1;
		return;
	}

@@ -186,9 +186,9 @@ get_changed_ns_log_page_completion(void *cb_arg, const struct spdk_nvme_cpl *cpl
	 */
	if (dev->changed_ns_list->ns_list[0] != 0xffffffffu) {
		for (i = 0; i < sizeof(*dev->changed_ns_list) / sizeof(uint32_t); i++) {
			if (expected_ns_test == dev->changed_ns_list->ns_list[i]) {
			if (g_expected_ns_test == dev->changed_ns_list->ns_list[i]) {
				printf("%s: changed NS list contains expected NSID: %u\n",
				       dev->name, expected_ns_test);
				       dev->name, g_expected_ns_test);
				found = true;
				break;
			}
@@ -196,11 +196,11 @@ get_changed_ns_log_page_completion(void *cb_arg, const struct spdk_nvme_cpl *cpl
	}

	if (!found) {
		printf("%s: Error: Can't find expected NSID %u\n", dev->name, expected_ns_test);
		failed = 1;
		printf("%s: Error: Can't find expected NSID %u\n", dev->name, g_expected_ns_test);
		g_failed = 1;
	}

	aer_done++;
	g_aer_done++;
}

static int
@@ -213,7 +213,7 @@ get_health_log_page(struct dev *dev)
					      get_health_log_page_completion, dev);

	if (rc == 0) {
		outstanding_commands++;
		g_outstanding_commands++;
	}

	return rc;
@@ -230,7 +230,7 @@ get_changed_ns_log_page(struct dev *dev)
					      get_changed_ns_log_page_completion, dev);

	if (rc == 0) {
		outstanding_commands++;
		g_outstanding_commands++;
	}

	return rc;
@@ -259,7 +259,7 @@ aer_cb(void *arg, const struct spdk_nvme_cpl *cpl)

	if (spdk_nvme_cpl_is_error(cpl)) {
		printf("%s: AER failed\n", dev->name);
		failed = 1;
		g_failed = 1;
		return;
	}

@@ -317,7 +317,7 @@ parse_args(int argc, char **argv)
				fprintf(stderr, "Invalid NS attribute notice ID\n");
				return val;
			}
			expected_ns_test = (uint32_t)val;
			g_expected_ns_test = (uint32_t)val;
			break;
		case 'r':
			if (spdk_nvme_transport_id_parse(&g_trid, optarg) != 0) {
@@ -341,7 +341,7 @@ parse_args(int argc, char **argv)
#endif
			break;
		case 'T':
			enable_temp_test = 1;
			g_enable_temp_test = 1;
			break;
		case 'H':
		default:
@@ -369,7 +369,7 @@ attach_cb(void *cb_ctx, const struct spdk_nvme_transport_id *trid,
	struct dev *dev;

	/* add to dev list */
	dev = &devs[num_devs++];
	dev = &g_devs[g_num_devs++];

	dev->ctrlr = ctrlr;

@@ -381,12 +381,12 @@ attach_cb(void *cb_ctx, const struct spdk_nvme_transport_id *trid,
	dev->health_page = spdk_dma_zmalloc(sizeof(*dev->health_page), 4096, NULL);
	if (dev->health_page == NULL) {
		printf("Allocation error (health page)\n");
		failed = 1;
		g_failed = 1;
	}
	dev->changed_ns_list = spdk_dma_zmalloc(sizeof(*dev->changed_ns_list), 4096, NULL);
	if (dev->changed_ns_list == NULL) {
		printf("Allocation error (changed namespace list page)\n");
		failed = 1;
		g_failed = 1;
	}
}

@@ -395,15 +395,15 @@ get_feature_test_cb(void *cb_arg, const struct spdk_nvme_cpl *cpl)
{
	struct dev *dev = cb_arg;

	outstanding_commands--;
	g_outstanding_commands--;

	if (spdk_nvme_cpl_is_error(cpl)) {
		printf("%s: get number of queues failed\n", dev->name);
		failed = 1;
		g_failed = 1;
		return;
	}

	if (aer_done < num_devs) {
	if (g_aer_done < g_num_devs) {
		/*
		 * Resubmit Get Features command to continue filling admin queue
		 * while the test is running.
@@ -423,11 +423,11 @@ get_feature_test(struct dev *dev)
	if (spdk_nvme_ctrlr_cmd_admin_raw(dev->ctrlr, &cmd, NULL, 0,
					  get_feature_test_cb, dev) != 0) {
		printf("Failed to send Get Features command for dev=%p\n", dev);
		failed = 1;
		g_failed = 1;
		return;
	}

	outstanding_commands++;
	g_outstanding_commands++;
}

static int
@@ -441,25 +441,25 @@ spdk_aer_temperature_test(void)
		get_temp_threshold(dev);
	}

	while (!failed && temperature_done < num_devs) {
	while (!g_failed && g_temperature_done < g_num_devs) {
		foreach_dev(dev) {
			spdk_nvme_ctrlr_process_admin_completions(dev->ctrlr);
		}
	}

	if (failed) {
		return failed;
	if (g_failed) {
		return g_failed;
	}
	temperature_done = 0;
	aer_done = 0;
	g_temperature_done = 0;
	g_aer_done = 0;

	/* Send admin commands to test admin queue wraparound while waiting for the AER */
	foreach_dev(dev) {
		get_feature_test(dev);
	}

	if (failed) {
		return failed;
	if (g_failed) {
		return g_failed;
	}

	printf("Waiting for all controllers to trigger AER...\n");
@@ -468,18 +468,18 @@ spdk_aer_temperature_test(void)
		set_temp_threshold(dev, 200);
	}

	if (failed) {
		return failed;
	if (g_failed) {
		return g_failed;
	}

	while (!failed && (aer_done < num_devs || temperature_done < num_devs)) {
	while (!g_failed && (g_aer_done < g_num_devs || g_temperature_done < g_num_devs)) {
		foreach_dev(dev) {
			spdk_nvme_ctrlr_process_admin_completions(dev->ctrlr);
		}
	}

	if (failed) {
		return failed;
	if (g_failed) {
		return g_failed;
	}

	return 0;
@@ -490,7 +490,7 @@ spdk_aer_changed_ns_test(void)
{
	struct dev *dev;

	aer_done = 0;
	g_aer_done = 0;

	printf("Starting namespce attribute notice tests for all controllers...\n");

@@ -498,18 +498,18 @@ spdk_aer_changed_ns_test(void)
		get_feature_test(dev);
	}

	if (failed) {
		return failed;
	if (g_failed) {
		return g_failed;
	}

	while (!failed && (aer_done < num_devs)) {
	while (!g_failed && (g_aer_done < g_num_devs)) {
		foreach_dev(dev) {
			spdk_nvme_ctrlr_process_admin_completions(dev->ctrlr);
		}
	}

	if (failed) {
		return failed;
	if (g_failed) {
		return g_failed;
	}

	return 0;
@@ -542,7 +542,7 @@ int main(int argc, char **argv)
		return 1;
	}

	if (failed) {
	if (g_failed) {
		goto done;
	}

@@ -552,14 +552,14 @@ int main(int argc, char **argv)
	}

	/* AER temperature test */
	if (enable_temp_test) {
	if (g_enable_temp_test) {
		if (spdk_aer_temperature_test()) {
			goto done;
		}
	}

	/* AER changed namespace list test */
	if (expected_ns_test) {
	if (g_expected_ns_test) {
		if (spdk_aer_changed_ns_test()) {
			goto done;
		}
@@ -567,7 +567,7 @@ int main(int argc, char **argv)

	printf("Cleaning up...\n");

	while (outstanding_commands) {
	while (g_outstanding_commands) {
		foreach_dev(dev) {
			spdk_nvme_ctrlr_process_admin_completions(dev->ctrlr);
		}
@@ -578,8 +578,8 @@ int main(int argc, char **argv)
		spdk_nvme_ctrlr_register_aer_callback(dev->ctrlr, NULL, NULL);
	}

	for (i = 0; i < num_devs; i++) {
		struct dev *dev = &devs[i];
	for (i = 0; i < g_num_devs; i++) {
		struct dev *dev = &g_devs[i];

		spdk_nvme_detach(dev->ctrlr);
	}
@@ -587,5 +587,5 @@ int main(int argc, char **argv)
done:
	cleanup();

	return failed;
	return g_failed;
}