Re: [PATCH 11/40] autonuma: define the autonuma flags

From: Konrad Rzeszutek Wilk
Date: Mon Jul 02 2012 - 11:52:16 EST


On Sat, Jun 30, 2012 at 12:58:25AM -0400, Konrad Rzeszutek Wilk wrote:
> On Thu, Jun 28, 2012 at 02:55:51PM +0200, Andrea Arcangeli wrote:
> > These flags are the ones tweaked through sysfs, they control the
> > behavior of autonuma, from enabling disabling it, to selecting various
> > runtime options.
> >
> > Signed-off-by: Andrea Arcangeli <aarcange@xxxxxxxxxx>
> > ---
> > include/linux/autonuma_flags.h | 62 ++++++++++++++++++++++++++++++++++++++++
> > 1 files changed, 62 insertions(+), 0 deletions(-)
> > create mode 100644 include/linux/autonuma_flags.h
> >
> > diff --git a/include/linux/autonuma_flags.h b/include/linux/autonuma_flags.h
> > new file mode 100644
> > index 0000000..5e29a75
> > --- /dev/null
> > +++ b/include/linux/autonuma_flags.h
> > @@ -0,0 +1,62 @@
> > +#ifndef _LINUX_AUTONUMA_FLAGS_H
> > +#define _LINUX_AUTONUMA_FLAGS_H
> > +
> > +enum autonuma_flag {
>
> These aren't really flags. They are bit-fields.
> A
> > + AUTONUMA_FLAG,
>
> Looking at the code, this is to turn it on. Perhaps a better name such
> as: AUTONUMA_ACTIVE_FLAG ?
>
>
> > + AUTONUMA_IMPOSSIBLE_FLAG,
> > + AUTONUMA_DEBUG_FLAG,
> > + AUTONUMA_SCHED_LOAD_BALANCE_STRICT_FLAG,
>
> I might have gotten my math wrong, but if you have
> AUTONUMA_SCHED_LOAD_BALACE.. set (so 3), that also means
> that bit 0 and 1 are on. In other words AUTONUMA_FLAG
> and AUTONUMA_IMPOSSIBLE_FLAG are turned on.
>
> > + AUTONUMA_SCHED_CLONE_RESET_FLAG,
> > + AUTONUMA_SCHED_FORK_RESET_FLAG,
> > + AUTONUMA_SCAN_PMD_FLAG,
>
> So this is 6, which means 110 bits. So AUTONUMA_FLAG
> gets turned off.

Ignore that pls. I had in my mind that test_bit was doing boolean logic (anding and masking,
and such), but that is not the case.
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/