On Tue, Jun 21, 2016 at 05:18:45PM -0700, Jarno Rajahalme wrote:
> PMD threads use pvectors but do not need the overhead of the
> concurrent version. Expose the internal non-concurrent version for
> that use.
>
> Signed-off-by: Jarno Rajahalme <[email protected]>
Seems like a good idea, if we have a potential user (do we?).
I guess that the following comments are actually relevant with or
without this patch.
Any reason why PVECTOR_EXTRA_ALLOC is in pvector.h instead of pvector.c?
Any reason we couldn't do the following, instead of null-ing in-place?
I think that we have to sort the vector either way, and then we could
get rid of the INT_MIN special case.
diff --git a/lib/pvector.c b/lib/pvector.c
index 00880bd..55e5351 100644
--- a/lib/pvector.c
+++ b/lib/pvector.c
@@ -158,10 +158,7 @@ pvector_impl_remove(struct pvector_impl *impl, void *ptr)
index = pvector_impl_find(impl, ptr);
ovs_assert(index >= 0);
- /* Now at the index of the entry to be deleted.
- * Clear in place, sort will clean these off. */
- impl->vector[index].ptr = NULL;
- impl->vector[index].priority = INT_MIN;
+ impl->vector[index] = impl->vector[--impl->size];
}
void
Acked-by: Ben Pfaff <[email protected]>
_______________________________________________
dev mailing list
[email protected]
http://openvswitch.org/mailman/listinfo/dev