Ok. I think, it will be better. I'll prepare new version.
On 06.08.2015 23:32, Joe Stringer wrote: > On 6 August 2015 at 00:54, Ilya Maximets <i.maxim...@samsung.com> wrote: >> ping. >> >> On 30.07.2015 18:29, Ilya Maximets wrote: >>> In multiqueue mode several pmd threads may process one >>> port, but different queues. Flow doesn't depend on queue. >>> >>> So, while miss upcall processing, all threads (except first >>> for that port) will receive error = ENOSPC due to >>> ukey_install failure. Therefore they will not add the flow >>> to flow_table and will not insert it to exact match cache. >>> >>> As a result all threads (except first for that port) will >>> always execute a miss. >>> >>> Fix that by comparing ukeys not only by ufids but also >>> by pmd_ids. >>> >>> Signed-off-by: Ilya Maximets <i.maxim...@samsung.com> > > Apologies for the delay. Did you consider amending get_ufid_hash() to > take a pmd_id instead, mixing the id in with the bits from the ufid? > This should decrease ukey iteration as there should be less ukeys with > the same hash in the ukey_maps (same hash -> map lookup for hash, then > linked list N_PMD_THREADS long). > _______________________________________________ dev mailing list dev@openvswitch.org http://openvswitch.org/mailman/listinfo/dev