[PATCH v2 5/5] vhost: enhance virtqueue access lock asserts
Thomas Monjalon
thomas at monjalon.net
Mon Feb 19 11:52:10 CET 2024
05/12/2023 10:45, David Marchand:
> +#define VHOST_USER_ASSERT_LOCK(dev, vq, id) do { \
> + RTE_BUILD_BUG_ON(!vhost_message_handlers[id].lock_all_qps); \
> + vq_assert_lock(dev, vq); \
> +} while (0)
Since "eal: enhance compile-time checks using C11 assert",
it is not allowed to have non-constant check in RTE_BUILD_BUG_ON:
lib/vhost/vhost_user.c:413:25: note: in expansion of macro 'VHOST_USER_ASSERT_LOCK'
lib/vhost/vhost_user.c: In function 'vhost_user_set_vring_addr':
lib/eal/include/rte_common.h:518:56: error: expression in static assertion is not constant
#define RTE_BUILD_BUG_ON(condition) do { static_assert(!(condition), #condition); } while (0)
I suppose we can make this check at compile-time with few adjustments.
For -rc1, I am dropping this patch.
More information about the dev
mailing list