Glenn Skinner wrote:
>     Date: Tue, 01 Sep 2009 14:22:45 -0700
>     From: Jerry Gilliam <jerry.gilliam at sun.com>
>     Subject: Re: PSARC/2009/396 Tickless Kernel Architecture / lbolt
>           decoupling [Fasttrack timeout 09/09/2009]
> 
>     I am sponsoring the following fast-track on behalf of Rafael Vanoni,
>     with a time-out of 09/09/2009.  The project desires
>     minor/major binding, plus micro/patch binding for one
>     interface, as specified.
> 
> Garrett asked whether this was suitable for a fast track or whether
> its scope exceeds what's appropriate for a fast track.
> 
> To me, the _architecture_ of the case is clear, confined, and qualifies
> for fast track review.  (There are implied logistical issues in
> getting potentially affected parties to take notice of the case, but
> that's not architecture.)
> 
> +1 from me, with one quibble (see the comment at the left margin
> below).
> 
> In the documentation updates section, we have:
> 
>     ...
>     Updates to condvar(9f):
>     ----------------------
> 
>     Kernel Functions for Drivers                          condvar(9F)
> 
>     NAME
>           condvar,   cv_init,    cv_destroy,    cv_wait,    cv_signal,
>           cv_broadcast,  cv_wait_sig, cv_timedwait, cv_timedwait_sig,
>           cv_reltimedwait, cv_reltimedwait_sig - condition variable
>           routines
> 
>     SYNOPSIS
>           #include <sys/ksynch.h>
> 
>           void cv_init(kcondvar_t *cvp, char *name, kcv_type_t type, void 
> *arg);
> 
>           void cv_destroy(kcondvar_t *cvp);
> 
>           void cv_wait(kcondvar_t *cvp, kmutex_t *mp);
> 
>           void cv_signal(kcondvar_t *cvp);
> 
>           void cv_broadcast(kcondvar_t *cvp);
> 
>           int cv_wait_sig(kcondvar_t *cvp, kmutex_t *mp);
> 
>           clock_t cv_timedwait(kcondvar_t *cvp, kmutex_t *mp, clock_t 
> timeout);
> 
>           clock_t cv_timedwait_sig(kcondvar_t *cvp, kmutex_t *mp, clock_t 
> timeout);
> 
>     |    clock_t cv_reltimedwait(kcondvar_t *cvp, kmutex_t *mp, clock_t delta,
>     |    time_res_t resolution);
> 
>     |    clock_t cv_reltimedwait_sig(kcondvar_t *cvp, kmutex_t *mp, clock_t 
> delta,
>     |    time_res_t resolution);
> 
>     INTERFACE LEVEL
>           Solaris DDI specific (Solaris DDI).
> 
>     PARAMETERS
>           cvp        A pointer to an abstract data type kcondvar_t.
> 
>           mp         A pointer to a mutual exclusion lock  (kmutex_t),
>                      initialized  by  mutex_init(9F)  and  held by the
>                      caller.
> 
>           name       Descriptive string. This is obsolete  and  should
>                      be NULL. (Non-NULL strings are legal, but they're
>                      a waste of kernel memory.)
> 
>           type       The constant CV_DRIVER.
> 
>           arg        A type-specific argument, drivers should pass arg
>                      as NULL.
> 
>           timeout    A  time,  in  absolute  ticks  since  boot,  when
>                      cv_timedwait()   or   cv_timedwait_sig()   should
>                      return.
> 
>     |     delta      A time, in relative ticks, when cv_reltimedwait()
>     |        or cv_reltimedwait_sig() should return.
>     |
>     |  resolution    A flag that specifies how accurately the relative
>     |          time interval should be. Possible values are
>     |          TR_NANOSEC, TR_MICROSEC, TR_MILLISEC, TR_SEC or
>     |          TR_CLOCK_TICK, the former indicating that the interval
>     |          should be aligned to system clock ticks. This
>     |          information allows the system to anticipate or
>     |          deffer the timeout expiration in order to batch process
>     |          similarly expiring events. Allowing the system to
>     |          stay idle for longer periods of time and enhance
>     |          its power efficiency.
> 
> Please reword the second sentence of the "resolution" paragraph above
> to make it clear that TR_CLOCK_TICK is the value that indicates
> alignment to system clock ticks.  ("Former" and "latter" are
> ill-defined when there are more than two alternatives, and "former" is
> usually taken to mean the first-appearing of a pair of alternatives,
> at least in the American dialect of English.)
> 
> (I did say that it was a quibble...)
> 
>               -- Glenn
> 

Will do. Thank you.

Rafael


Reply via email to