Hi guys,

Working on a vbdev that maintains some global state and underlying data structures, I decided to explore an SPDKish alternative to the traditional synchronization, that of the single-threaded semantics where global data structures are being maintained by a dedicated thread, with requests being served by message passing to/from that thread. 

Coding such a thread against the spdk_allocate_thread() guidelines proved to be quite straightforward, and I've got it up and running. At the same time, I'm still unclear as to why I should be essentially duplicating the features of the pinned SPDK thread, with my gut feeling being that the very same single-threaded semantics could have been easily achieved by pinning my execution context to some randomly or round-robin chose pinned thread of the configured allowed cores mask.

If that gut feeling doesn't fool me, I will appreciate a pointer to any docs and/or examples showing how one can pin an arbitrary execution context inside a vbdev to an SPDK native thread (similar to app_start and friends, I believe), and do polling on that thread/ messaging to/from that thread similar to what a POSIX thread equipped with spdk thread envelope could do.

Thanks in advance,