cvs commit: src/sys/kern kern_event.c src/sys/sys eventvar.h

Brian Fundakowski Feldman green at FreeBSD.org
Wed Jul 14 10:35:46 PDT 2004


On Wed, Jul 14, 2004 at 10:43:23AM -0400, Robert Watson wrote:
> 
> On Wed, 14 Jul 2004, Alfred Perlstein wrote:
> 
> >   Log:
> >   Make FIOASYNC, FIOSETOWN and FIOGETOWN work on kqueues.
> 
> Have you tried testing this on a kqueue used to monitor signals?  I'd draw
> your particular attention to the following newly enabled code path:
> 
> pgsigio() -> psignal() -> tdsignal() -> do_tdsignal() -> KNOTE() ->
>   knote() -> KNOTE_ACTIVATE() -> knote_enqueue() -> kqueue_wakeup() ->
>   pgsigio()
> 
> It strikes me that adding sigio support to kqueue opens a massive can of
> worms, not least of which is how you prevent the above from causing the
> system to panic, not to mention how you handle locking in what is
> otherwise a set of leaf functions in kqueue.  I'd like it if you could
> back this out until locking for kqueue is resolved, as while this is no
> doubt a useful feature, having the locking working is much more useful to
> us for 5.3.

Agreed.  Much of kqueue "barely works" as is (that is, other than pretty
much all of it which is broken with regard to concurrency); adding more
interfaces, especially this one, is not a good idea (right now?).

-- 
Brian Fundakowski Feldman                           \'[ FreeBSD ]''''''''''\
  <> green at FreeBSD.org                               \  The Power to Serve! \
 Opinions expressed are my own.                       \,,,,,,,,,,,,,,,,,,,,,,\


More information about the cvs-all mailing list