vhost: use binary search instead of linear in find_region()
authorIgor Mammedov <imammedo@redhat.com>
Tue, 16 Jun 2015 16:33:35 +0000 (18:33 +0200)
committerMichael S. Tsirkin <mst@redhat.com>
Wed, 1 Jul 2015 08:12:12 +0000 (10:12 +0200)
commitbcfeacab45e6d419c6bafc0e57ea4b1125e23231
treec994f9533d20d043525fd5730629ed3a97bd60b0
parent8b0a9d42301e45d501d751074a6f767fded680b1
vhost: use binary search instead of linear in find_region()

For default region layouts performance stays the same
as linear search i.e. it takes around 210ns average for
translate_desc() that inlines find_region().

But it scales better with larger amount of regions,
235ns BS vs 300ns LS with 55 memory regions
and it will be about the same values when allowed number
of slots is increased to 509 like it has been done in kvm.

Signed-off-by: Igor Mammedov <imammedo@redhat.com>
Signed-off-by: Michael S. Tsirkin <mst@redhat.com>
drivers/vhost/vhost.c