dpdk: device_id sorted order for cryptodev
By default, VPP automatically assignes for each tunnel next available QAT device by order dev_id-que-pair. In most cases we have more than one device and it can greatly increase ipsec perfomance without any actions with configuration from user if we use all the devices first and first que-pairs Type: feature Signed-off-by: Vladimir Ratnikov <vratnikov@netgate.com> Change-Id: Iac9fe74768775459e22f69bb3706b542090a9375
This commit is contained in:

committed by
Matthew Smith

parent
c79a14f13a
commit
5a849e3b35
@ -1181,9 +1181,23 @@ cryptodev_create_device (vlib_main_t *vm, u32 n_queues)
|
||||
return 0;
|
||||
}
|
||||
|
||||
static int
|
||||
cryptodev_cmp (void *v1, void *v2)
|
||||
{
|
||||
cryptodev_inst_t *a1 = v1;
|
||||
cryptodev_inst_t *a2 = v2;
|
||||
|
||||
if (a1->q_id > a2->q_id)
|
||||
return 1;
|
||||
if (a1->q_id < a2->q_id)
|
||||
return -1;
|
||||
return 0;
|
||||
}
|
||||
|
||||
static int
|
||||
cryptodev_probe (vlib_main_t *vm, u32 n_workers)
|
||||
{
|
||||
cryptodev_main_t *cmt = &cryptodev_main;
|
||||
u32 n_queues = cryptodev_count_queue (vm->numa_node);
|
||||
u32 i;
|
||||
int ret;
|
||||
@ -1204,6 +1218,8 @@ cryptodev_probe (vlib_main_t *vm, u32 n_workers)
|
||||
return ret;
|
||||
}
|
||||
|
||||
vec_sort_with_function(cmt->cryptodev_inst, cryptodev_cmp);
|
||||
|
||||
return 0;
|
||||
}
|
||||
|
||||
|
Reference in New Issue
Block a user