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