summaryrefslogtreecommitdiffstats
path: root/g2/g2.h
diff options
context:
space:
mode:
authorDave Barach <dave@barachs.net>2016-10-04 16:53:56 -0400
committerDamjan Marion <dmarion.lists@gmail.com>2016-10-05 07:44:47 +0000
commite91836368cec2ffed47743dc5626e2d0c44fc0ea (patch)
tree2963dd4e18d6da168b79e2bf6785b4d851284076 /g2/g2.h
parent15977efc454a2faba91eca0184251dc8e0d553f0 (diff)
Fix mutex/condvar sleep when adding API msgs, VPP-461
Simply put, threads cannot sleep waiting for the vlib memory api main input queue to drain. If, say, thread i (i !=0) fills the vlib api main input queue with rpc requests - and then blocks trying to add another request - the game is over. RPCs attempt a barrier synchronization, which fails with Pr = {1.0} because thread i is in a mutex/condvar sleep. Add a main-thread cut-through path, which directly invokes the RPC callback function when called on the main thread. Change-Id: Ib036f0cc43b5738455c3a111cff64a132537152e Signed-off-by: Dave Barach <dave@barachs.net>
Diffstat (limited to 'g2/g2.h')
0 files changed, 0 insertions, 0 deletions