Skip site navigation (1)Skip section navigation (2)
Date:      Thu, 26 Sep 2019 18:29:16 -0600
From:      Warner Losh <imp@bsdimp.com>
To:        Ryan Stone <rysto32@gmail.com>
Cc:        Gleb Smirnoff <glebius@freebsd.org>, src-committers <src-committers@freebsd.org>,  svn-src-all <svn-src-all@freebsd.org>, svn-src-head <svn-src-head@freebsd.org>
Subject:   Re: svn commit: r352778 - in head/sys: conf sys
Message-ID:  <CANCZdfrL_X2UXk%2BrcehHC6cSj%2BWmxj%2BZ8Y-or0sACd9kWmNn0Q@mail.gmail.com>
In-Reply-To: <CAFMmRNzgxiTK84KaCrAxah21DZSDS_LLunnZLrPUL=JLzaWh8Q@mail.gmail.com>
References:  <201909262112.x8QLCl9o061816@repo.freebsd.org> <CAFMmRNzgxiTK84KaCrAxah21DZSDS_LLunnZLrPUL=JLzaWh8Q@mail.gmail.com>

next in thread | previous in thread | raw e-mail | index | archive | help
This is a developer only option. Out-of-tree consumers would need to be
compiled with the kernel directory, much like they would need to be for
other things. You wouldn't run a system with this normally: it's only to
debug specific instances of bad behavior. I think, like other debugging
options, that it's fine.

Warner

On Thu, Sep 26, 2019 at 6:18 PM Ryan Stone <rysto32@gmail.com> wrote:

> Is this enough?  Won't out-of-tree modules get compiled without
> EPOCH_TRACE set?  If such a module is loaded on a kernel with
> EPOCH_TRACE set then the module will call epoch_enter_preempt() with a
> epoch_tracker that is too small and have its stack corrupted, won't
> it?
>
> On Thu, Sep 26, 2019 at 5:12 PM Gleb Smirnoff <glebius@freebsd.org> wrote:
> >
> > Author: glebius
> > Date: Thu Sep 26 21:12:47 2019
> > New Revision: 352778
> > URL: https://svnweb.freebsd.org/changeset/base/352778
> >
> > Log:
> >   Move EPOCH_TRACE to opt_global.h, so that any external modules that
> >   use epoch don't need Makefile tweaks.
> >
> >   The downside is that any developer who wants EPOCH_TRACE needs to
> >   rebuild kernel in full, but that's fine.
> >
> >   Reviewed by:  imp
> >
> > Modified:
> >   head/sys/conf/options
> >   head/sys/sys/epoch.h
> >
> > Modified: head/sys/conf/options
> >
> ==============================================================================
> > --- head/sys/conf/options       Thu Sep 26 21:06:55 2019        (r352777)
> > +++ head/sys/conf/options       Thu Sep 26 21:12:47 2019        (r352778)
> > @@ -712,7 +712,7 @@ WITNESS_SKIPSPIN    opt_witness.h
> >  WITNESS_COUNT          opt_witness.h
> >  OPENSOLARIS_WITNESS    opt_global.h
> >
> > -EPOCH_TRACE            opt_epoch.h
> > +EPOCH_TRACE            opt_global.h
> >
> >  # options for ACPI support
> >  ACPI_DEBUG             opt_acpi.h
> >
> > Modified: head/sys/sys/epoch.h
> >
> ==============================================================================
> > --- head/sys/sys/epoch.h        Thu Sep 26 21:06:55 2019        (r352777)
> > +++ head/sys/sys/epoch.h        Thu Sep 26 21:12:47 2019        (r352778)
> > @@ -41,8 +41,6 @@ typedef struct epoch_context *epoch_context_t;
> >  #include <sys/pcpu.h>
> >  #include <ck_epoch.h>
> >
> > -#include "opt_epoch.h"
> > -
> >  struct epoch;
> >  typedef struct epoch *epoch_t;
> >
>



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?CANCZdfrL_X2UXk%2BrcehHC6cSj%2BWmxj%2BZ8Y-or0sACd9kWmNn0Q>