this async IPC is not better, really, but it doesn't try to alloc with preemption disabled.  So there's that