[ovs-dev] [RFC v6 00/11] Support multi-segment mbufs

Lam, Tiago tiago.lam at intel.com
Thu May 17 23:10:33 UTC 2018


Hi Ilya,

Thanks for having look, much appreciated!

On 17/05/2018 14:26, Ilya Maximets wrote:
> Hello.
> Thanks for working on this. But it seems that this patch
> completely breaks build without dpdk. There are a lot of places
> where dpdk functions in use regardless of define DPDK_NETDEV.

Thanks for pointing it out. I've mistakenly left the "--with-dpdk" flag
in and thought I was testing with and without DPDK. I've fixed it
locally now, as it was just missing a couple of #ifdef's. I'll include
it in the next iteration.

> Beside that I see that you're allocating new mbufs inside generic
> dp_packet_* functions. But, in context of non-PMD threads this
> must be under 'non_pmd_mutex'. Otherwise, mempool could be corrupted.

This makes sense, it is a consequence of handling resizing and not
calling OVS_NOT_REACHED() anymore. I'll work on adding it for the next
iteration.

Just to note, though, that new mbufs are only being allocated in
dp_packet_resize__() - but I see your point, as this function gets
called by others, like dp_packet_prealloc_tailroom() and
dp_packet_put_uninit().

> Best regards, Ilya Maximets.

Thanks, Ilya.

I don't think the fix above alone warrants sending a new version, thus
I'll leave it here for a few more days for further feedback, which will
be much appreciated.

Also, I'm writing tests for some of the functionalities introduced. I'm
planning to send that in the next iteration as well.

Tiago.


More information about the dev mailing list