Re: [patch] Mixed Madison and Montecito system support

From: Siddha, Suresh B
Date: Wed Oct 25 2006 - 20:04:13 EST


On Tue, Oct 24, 2006 at 07:56:45PM -0500, Russ Anderson wrote:
> Tony Luck wrote:
> >
> > Cc: linux-kernel for generic bit of this change. Rest of patch was
> > posted to linux-ia64: http://marc.theaimsgroup.com/?l=linux-ia64&m=116070997529216&w=2
> >
> > On Thu, Oct 12, 2006 at 10:25:58PM -0500, Russ Anderson wrote:
> > > int sched_create_sysfs_power_savings_entries(struct sysdev_class *cls)
> > > {
> > > - int err = 0;
> > > + int err = 0, c;
> > >
> > > #ifdef CONFIG_SCHED_SMT
> > > - if (smt_capable())
> > > - err = sysfs_create_file(&cls->kset.kobj,
> > > + for_each_online_cpu(c)
> > > + if (smt_capable(c)) {
> > > + err = sysfs_create_file(&cls->kset.kobj,
> > > &attr_sched_smt_power_savings.attr);
> > > + break;
> > > + }
> > > #endif
> >
> > What if you booted an all-Madison system, and then hot-plugged some
> > Montecitos later? Either we'd need the hotplug cpu code to run through
> > this routine again to re-test whether any cpu has multi-thread support
> > (it doesn't look like it does that now).
> >
> > Or perhaps it would be simpler to dispense with this test and always
> > call sysfs_create_file() here (still inside CONFIG_SCHED_SMT) so that
> > the hook is always present to tune the scheduler (even if it may be
> > ineffective on a no-smt system)?
>
> I like that idea. Any objections or comments?

I added it so that these entries will not confuse users of a non-smt/mc
systems. But mixed type of processors and cpu hotplug really complicates the
things..

May be a check of something like "is this platform capable of
supporting any multi-core/multi-threaded processor package?" helps..

As there is no well defined mechanism to find out that and for simplicity
reasons, we should probably go with Tony's suggestion.

Russ I can post a patch, removing both smt_capable() and mc_capable()
checks.

Today this sysfs variable is not documented. But when it happens, we
need to clearly document that these variables have no meaning when
the system doesn't have cpus with threads/cores.

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/