[Crash-utility] [PATCH] Support cpu_map/cpu_mask changes in 2.6.29
Robin Holt
holt at sgi.com
Mon Apr 27 15:19:01 UTC 2009
On Mon, Apr 27, 2009 at 10:27:22AM -0400, Dave Anderson wrote:
>
> ----- "Michael Holzheu" <holzheu at linux.vnet.ibm.com> wrote:
>
> > > So yes, while STRUCT_SIZE("cpumask_t") would always be appropriate for that
> > > data type, it would fail for the older kernel types which don't use it.
> >
> > So if for older kernels it was an unsigned long, the function should
> > work:
> >
> > +static int
> > +cpu_map_size(void)
> > +{
> > + int len;
> > +
> > + len = STRUCT_SIZE("cpumask_t");
> > + if (len < 0)
> > + return sizeof(ulong);
> > + else
> > + return len;
> > +}
>
> Yeah, you're right, that will probably work. There were definitions for
> "cpumask_t" that existed prior to the transition of cpu_online_map symbol
> from being an unsigned long to a cpumask_t. But except for mips64 (unsupported)
> they all appear to have been unsigned longs anyway.
IIRC, cpumask_t on ia64 hasn't been an unsigned long for a very long time.
The generic_defconfig was at 512 until it recently jumped to 2048.
Only some configs limited it down to an unsigned long. Unfortunately,
I don't have much time to test this week. Maybe next, but a quick code
inspection should raise flags if I am remembering correctly.
Thanks,
Robin
More information about the Crash-utility
mailing list