Messages in this thread | | | Date | Tue, 20 Oct 2009 08:35:55 +0200 | From | Ingo Molnar <> | Subject | Re: Commit 34d76c41 causes linker errors on ia64 with NR_CPUS=4096 |
| |
* Jiri Kosina <jkosina@suse.cz> 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@suse.cz> > > > --- > > > 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
| |