On 09/03/2009 01:45 PM, Jeremy Fitzhardinge wrote: > > Two problems: > > * gcc generates %gs: references for stack-protector, but we use %fs > for percpu data (because restoring %fs is faster if it's a null > selector; TLS uses %gs). I guess we could use %fs if > !CONFIG_CC_STACKPROTECTOR, or %gs if we are using it (though that > has some fiddly ramifications for things like ptrace). Well, by touching two segments we're getting the worst of both worlds, so at least assuming some significant number of real-world deployments use CC_STACKPROTECTOR, we really don't want to pessimize that case too much. > * The i386 percpu %fs base is offset by -__per_cpu_start from the > percpu variables, so we can directly refer to %fs:per_cpu__foo. > I'm not sure what it would take to unify i386 to use the same > scheme as x86-64. OK, I was under the impression that that had already been done (and no, I didn't bother to look at the code.) I guess I was wrong (and yes, this is an absolute precondition.) > Neither looks insoluble. Agreed. Looks like something that can and probably should be done but is a bit further out. -hpa -- To unsubscribe from this list: send the line "unsubscribe linux-tip-commits" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html