[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <4ADD6915.7000909@kernel.org>
Date: Tue, 20 Oct 2009 16:39:01 +0900
From: Tejun Heo <tj@...nel.org>
To: Eric Dumazet <eric.dumazet@...il.com>
CC: Ingo Molnar <mingo@...e.hu>, Jiri Kosina <jkosina@...e.cz>,
Jeff Mahoney <jeffm@...e.com>,
Peter Zijlstra <peterz@...radead.org>,
Linux Kernel Mailing List <linux-kernel@...r.kernel.org>,
Tony Luck <tony.luck@...el.com>,
Fenghua Yu <fenghua.yu@...el.com>, linux-ia64@...r.kernel.org
Subject: Re: Commit 34d76c41 causes linker errors on ia64 with NR_CPUS=4096
Eric Dumazet wrote:
> Ingo Molnar a écrit :
>
>> 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.
>>
>
> True, but this also save some amount of ram for some distro kernels.
>
> If we keep this static NR_CPUS thing, we might be able to free
> the end of table, for other per_cpu users ?
>
> if (nr_cpus_ids < NR_CPUS) {
> per_cpu_free_static_zone(&update_shares_data[nr_cpus_ids],
> sizeof(long)*(NR_CPUS - nr_cpus_ids));
> }
That's doable but Considering that the users of NR_CPUS are pretty few
(and should be kept that way), I think it would be better to just use
dynamic allocation, which no longer incurs any major performance
difference (the only difference is constant offset vs. pointer in a
variable), for those cases.
Thanks.
--
tejun
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@...r.kernel.org
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/
Powered by blists - more mailing lists