Re: [patch] sched: fix macro -> inline function conversion bug

From: Siddha, Suresh B
Date: Wed Jul 05 2006 - 17:53:36 EST


On Wed, Jul 05, 2006 at 11:17:02PM +0200, Ingo Molnar wrote:
>
> * Siddha, Suresh B <suresh.b.siddha@xxxxxxxxx> wrote:
>
> > On Wed, Jul 05, 2006 at 10:02:45PM +0200, Ingo Molnar wrote:
> > >
> > > * Siddha, Suresh B <suresh.b.siddha@xxxxxxxxx> wrote:
> > >
> > > > - if (sd && sd->flags & flag)
> > > > + if (sd && !(sd->flags & flag))
> > >
> > > use test_sd_flag() here, as i did in my fix patch.
> > >
> > > > -#define test_sd_flag(sd, flag) ((sd && sd->flags & flag) ? 1 : 0)
> > > > +#define test_sd_flag(sd, flag) ((sd && (sd->flags & flag)) ? 1 : 0)
> > >
> > > remove the 'sd' check in test_sd_flag. In the other cases we know that
> > > there's an sd. (it's usually a sign of spaghetti code if tests like this
> > > include a check for the existence of the object checked)
> >
> > In other cases, we are passing sd->parent as the first argument to
> > test_sd_flag(). We know that there is a 'sd' but not sure about
> > sd->parent or sd->child.
>
> ok. But the first issue above should be fixed.

I can't simply change it to test_sd_flag(). In sched_balance_self(), paths for
sd == 0 and a 'flag' not set in sd->flags are different.

I can change that piece of code to (sd && !test_sd_flag(sd, flag)) though..
but that is not clean, right?

thanks,
suresh
-
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/