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

From: Tejun Heo
Date: Tue Oct 20 2009 - 03:38:21 EST


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@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/