Skip site navigation (1)Skip section navigation (2)
Date:      Tue, 31 Jul 2012 00:48:34 +0200
From:      Davide Italiano <davide@freebsd.org>
To:        src-committers@freebsd.org, svn-src-all@freebsd.org,  svn-src-head@freebsd.org
Subject:   Re: svn commit: r238925 - in head/sys: conf kern
Message-ID:  <CACYV=-HSpq29iWqudjPgejqP9mogkVLDYYF0pQNpoWWxWQfNbA@mail.gmail.com>
In-Reply-To: <201207302246.q6UMkgcA053639@svn.freebsd.org>
References:  <201207302246.q6UMkgcA053639@svn.freebsd.org>

next in thread | previous in thread | raw e-mail | index | archive | help
On Tue, Jul 31, 2012 at 12:46 AM, Davide Italiano <davide@freebsd.org> wrote:
> Author: davide
> Date: Mon Jul 30 22:46:42 2012
> New Revision: 238925
> URL: http://svn.freebsd.org/changeset/base/238925
>
> Log:
>   Until now KTR_ENTRIES, which defines the size of circular buffer used in
>   ktr(4), was constrained to be a power of two. Remove this constraint and
>   update sys/conf/NOTES accordingly.
>
>   Reviewed by:          jhb
>   Approved by:          gnn (mentor)
>   Sponsored by:         Google Summer of Code 2012
>
> Modified:
>   head/sys/conf/NOTES
>   head/sys/kern/kern_ktr.c
>
> Modified: head/sys/conf/NOTES
> ==============================================================================
> --- head/sys/conf/NOTES Mon Jul 30 21:58:28 2012        (r238924)
> +++ head/sys/conf/NOTES Mon Jul 30 22:46:42 2012        (r238925)
> @@ -435,7 +435,7 @@ options     KTRACE_REQUEST_POOL=101
>  #
>  # KTR is a kernel tracing facility imported from BSD/OS.  It is
>  # enabled with the KTR option.  KTR_ENTRIES defines the number of
> -# entries in the circular trace buffer; it must be a power of two.
> +# entries in the circular trace buffer; it may be an arbitrary number.
>  # KTR_COMPILE defines the mask of events to compile into the kernel as
>  # defined by the KTR_* constants in <sys/ktr.h>.  KTR_MASK defines the
>  # initial value of the ktr_mask variable which determines at runtime
>
> Modified: head/sys/kern/kern_ktr.c
> ==============================================================================
> --- head/sys/kern/kern_ktr.c    Mon Jul 30 21:58:28 2012        (r238924)
> +++ head/sys/kern/kern_ktr.c    Mon Jul 30 22:46:42 2012        (r238925)
> @@ -283,7 +283,7 @@ ktr_tracepoint(u_int mask, const char *f
>         {
>                 do {
>                         saveindex = ktr_idx;
> -                       newindex = (saveindex + 1) & (KTR_ENTRIES - 1);
> +                       newindex = (saveindex + 1) % KTR_ENTRIES;
>                 } while (atomic_cmpset_rel_int(&ktr_idx, saveindex, newindex) == 0);
>                 entry = &ktr_buf[saveindex];
>         }
> @@ -338,7 +338,7 @@ static      int db_mach_vtrace(void);
>  DB_SHOW_COMMAND(ktr, db_ktr_all)
>  {
>
> -       tstate.cur = (ktr_idx - 1) & (KTR_ENTRIES - 1);
> +       tstate.cur = (ktr_idx - 1) % KTR_ENTRIES;
>         tstate.first = -1;
>         db_ktr_verbose = 0;
>         db_ktr_verbose |= (strchr(modif, 'v') != NULL) ? 2 : 0;

I forget this:
MFC after:  3 days.



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