>> So what we have now is space wastage on some architectures, space savings on >> some, but with no measurable performance benefit due to the infrastructure >> itself. Why not push the infrastructure when we really need it, as against >> pushing it now when we are not sure if it benefits? >
>It makes sense from a theoretical POV and is pretty much a no-op in terms >of resource consumption. >The problem with the wait-until-it-hurts approach is that by the time >someone hurts from this and we find out about it, they may well be using >some year-old enterprise kernel and it's too late to fix it for them. Yes, in theory, sharing shared percpu data with local percpu data in one cache line can cause cache line contention between remote and local access. And this undesirable sharing does happen in current git. On x86, without the patch, runqueue shares cacheline with cpu_domains. c0633e80 d per_cpu__runqueues c06347e0 d per_cpu__cpu_domains Other architectures also have this undesired sharing. IA64 is an example. In future, this undesired sharing could happen with other data if we do not have a methodology to prevent it. I just do not have data to show the performance hit for this sharing now. Thanks. -Fenghua - To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to [EMAIL PROTECTED] More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/