test/nvme/abort: ensure admin queue is sized appropriately

This abort test app will send a lot of abort commands on
the admin queue.  The default admin queue size is
relatively small (32) so increase it if necessary to
account for the expected number of outstanding abort
commands as well as any extra admin commands that may
be sent during test execution such as Keep Alive.

Fixes issue #2048.

Signed-off-by: Jim Harris <james.r.harris@intel.com>
Change-Id: I5f64b7fc72a028299b860f09e30d430a64c95d2a
Reviewed-on: https://review.spdk.io/gerrit/c/spdk/spdk/+/8812
Community-CI: Mellanox Build Bot
Community-CI: Broadcom CI <spdk-ci.pdl@broadcom.com>
Tested-by: SPDK CI Jenkins <sys_sgci@intel.com>
Reviewed-by: Paul Luse <paul.e.luse@intel.com>
Reviewed-by: Changpeng Liu <changpeng.liu@intel.com>
Reviewed-by: Shuhei Matsumoto <shuhei.matsumoto.xt@hitachi.com>
Reviewed-by: Aleksey Marchuk <alexeymar@mellanox.com>
Reviewed-by: Dong Yi <dongx.yi@intel.com>
Reviewed-by: Ben Walker <benjamin.walker@intel.com>
This commit is contained in:
Jim Harris 2021-07-16 19:38:55 +00:00 committed by Tomasz Zawadzki
parent 690783a3ae
commit a595959da0

View File

@ -846,6 +846,14 @@ static bool
probe_cb(void *cb_ctx, const struct spdk_nvme_transport_id *trid,
struct spdk_nvme_ctrlr_opts *opts)
{
uint16_t min_aq_size;
/* We need to make sure the admin queue is big enough to handle all of the aborts that
* will be sent by this test app. We add a few extra entries to account for any admin
* commands other than the aborts. */
min_aq_size = spdk_divide_round_up(g_queue_depth, g_abort_interval) + 8;
opts->admin_queue_size = spdk_max(opts->admin_queue_size, min_aq_size);
return true;
}