On 04/16/2015 12:11 AM, Andy Lutomirski wrote:
> Also, getting the really high performance stuff right would be nice.
> Binder has one thing going for it (IIRC -- I've talked about it to
> some of the authors, but I've never so much as glanced at the code):
> it has a primitive to send and wait for a reply.  This reduces the
> load on scheduler.

kdbus has the same thing, we call it a synchronous reply. That concept
is actually comprehensively explained in kdbus.message(7):

  By default, all calls to kdbus are considered asynchronous,
  non-blocking. However, as there are many use cases that need
  to wait for a remote peer to answer a method call, there's a
  way to send a message and wait for a reply in a synchronous
  fashion. This is what the KDBUS_SEND_SYNC_REPLY controls. The
  KDBUS_CMD_SEND ioctl will block until the reply has arrived,
  the timeout limit is reached, in case the remote connection
  was shut down, or if interrupted by a signal before any reply;
  see signal(7). The offset of the reply message in the sender's
  pool is stored in in offset_reply when the ioctl has returned
  without error. Hence, there is no need for another KDBUS_CMD_RECV
  ioctl or anything else to receive the reply.



Thanks,
Daniel

--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majord...@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Please read the FAQ at  http://www.tux.org/lkml/

Reply via email to