Skip site navigation (1)Skip section navigation (2)
Date:      Mon, 10 Mar 2014 11:23:33 -0700
From:      John-Mark Gurney <jmg@funkthat.com>
To:        Baptiste Daroussin <bapt@freebsd.org>
Cc:        desrt@desrt.ca, hackers@freebsd.org
Subject:   Re: [CFR] Kevent timer improvements
Message-ID:  <20140310182333.GJ32089@funkthat.com>
In-Reply-To: <20140310131632.GI6900@ithaqua.etoilebsd.net>
References:  <20140310131632.GI6900@ithaqua.etoilebsd.net>

next in thread | previous in thread | raw e-mail | index | archive | help
Baptiste Daroussin wrote this message on Mon, Mar 10, 2014 at 14:16 +0100:
> A glib developer pointed me to some of the improvements Apple has done on
> kqueue(2), some of those improvements are used or will be used by glib in the
> near futur, plus add new one.
> 
> I decided to implement part of it and here is the first patch about it:
> http://people.freebsd.org/~bapt/kevent.diff
> 
> I will update the manpages accordingly as well:
> 
> Basically this patch added the following to the EVFILT_TIMER:
> NOTE_SECONDS   data is in seconds
> NOTE_USECONDS  data is in microseconds
> NOTE_NSECONDS  data is in nanoseconds

Could you contact the maintainer of sbintime and look at adding an
SBINTIME_MAX/_MIN define macros and use those instead of INT64_MAX?  We
shouldn't know the internal implementation type of sbintime_t in the
code in case the type changes...

> I do plan to add kevent64 support compatible with apple implementation later, as
> using NOTE_MONOTONIC without 64bit support is not useful very long :)

Is this just to support 64bit data on a 32bit system?  Also, why is
ident grown to 64bits?  I don't see any filters that could possibly
need the additional range...  I can understand data be expanded to
64bits...

Also, what exactly is ext used for?  I'm looking at MacOSX's description
of ext, and it isn't clear.. it basicly says "ext[0] is passed through
much like udata" (only much? not exactly like?), and "ext[1] can always
be used like udata"...  It isn't clear how/what these are used for, etc..

It looks like the "much like udata" part is because using the
EVFILT_MACHPORT will overwrite it.  If we do import this, I'd like to
be clear on how they are used, i.e. their use is specified by the
filter, and if the filter does not use them, they are exactly like
additional udata fields..

-- 
  John-Mark Gurney				Voice: +1 415 225 5579

     "All that I will do, has been done, All that I have, has not."



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