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 <[email protected]> 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 <[email protected]> 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;
> >
>
_______________________________________________
[email protected] mailing list
https://lists.freebsd.org/mailman/listinfo/svn-src-all
To unsubscribe, send any mail to "[email protected]"

Reply via email to