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

From: Ingo Molnar
Date: Tue Oct 20 2009 - 02:36:11 EST



* Jiri Kosina <jkosina@xxxxxxx> wrote:

> 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.

Still looks like a bug if it causes a breakage (linker error) on IA64,
and if the 'fix' (i'd call it a workaround) causes a (small but nonzero)
performance regression on other architectures.

Ingo
--
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/