Skip site navigation (1)Skip section navigation (2)
Date:      Tue, 28 Jul 2015 14:19:49 +0200
From:      Luigi Rizzo <rizzo@iet.unipi.it>
To:        freebsd-current@freebsd.org
Subject:   eventfd lookalike in FreeBSD ?
Message-ID:  <20150728121949.GA64588@onelab2.iet.unipi.it>

next in thread | raw e-mail | index | archive | help
Hi,
for some work we are doing on bhyve, we need some lightweight mechanism that
a kernel thread can use to wake up another user thread possibly
waiting for some event.

If the recipient of the event were a kernel thread it would simply
do a tsleep(chan...) and the sender would do a wakeup() or wakeup_one().

Do we have an equally simple option for a recipient that is a
userspace thread using something that is already in the kernel ?
Do we have some blocking syscall that ends up doing a tsleep in
a predictable way ?

I suppose I could create a kqueue() descriptor and instruct the kernel
thread side to post an event instead of doing the wakeup, but
this seems a bit more expensive on both endpoints.

cheers
luigi



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?20150728121949.GA64588>