Re: Commit 34d76c41 causes linker errors on ia64 with NR_CPUS=4096

From: Jiri Kosina
Date: Tue Oct 20 2009 - 02:26:19 EST


On Tue, 20 Oct 2009, Ingo Molnar wrote:

> > Commit 34d76c41 introduced percpu array update_shares_data, size of which
> > being proportional to NR_CPUS. Unfortunately this blows up ia64 for large
> > NR_CPUS configuration, as ia64 allows only 64k for .percpu section.
> >
> > Fix this by allocating this array dynamically and keep only pointer to it
> > percpu.
> >
> > Signed-off-by: Jiri Kosina <jkosina@xxxxxxx>
> > ---
> > kernel/sched.c | 15 +++++++--------
> > 1 files changed, 7 insertions(+), 8 deletions(-)
>
> Seems like an IA64 bug to me.

IA64 guys actually use that as some kind of optimization for fast access
to the percpu data in their pagefault handler, as far as I know.

> It's _very_ easy to get more than 64K of percpu data - i'm wondering why
> IA64 only triggered it now? Sure lockdep/lockstat must have triggered it
> before.

Do we actually have lockdep on ia64?

--
Jiri Kosina
SUSE Labs, Novell Inc.
--
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/