From mboxrd@z Thu Jan 1 00:00:00 1970 From: Ingo Molnar Date: Tue, 20 Oct 2009 06:35:55 +0000 Subject: Re: Commit 34d76c41 causes linker errors on ia64 with NR_CPUS=4096 Message-Id: <20091020063555.GJ8550@elte.hu> List-Id: References: <4ADB967A.4080707@suse.com> <20091020061557.GE8550@elte.hu> In-Reply-To: MIME-Version: 1.0 Content-Type: text/plain; charset="us-ascii" Content-Transfer-Encoding: 7bit To: Jiri Kosina Cc: Jeff Mahoney , Peter Zijlstra , Linux Kernel Mailing List , Tony Luck , Fenghua Yu , linux-ia64@vger.kernel.org * Jiri Kosina 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 > > > --- > > > 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