Messages in this thread | | | Subject | Re: [PATCH] Introduce compat_u64 and compat_s64 types | From | David Woodhouse <> | Date | Fri, 15 Jun 2007 14:00:06 +0100 |
| |
On Fri, 2007-06-15 at 13:54 +0100, Alan Cox wrote: > For the parts used by the processors in question yes people have done > that work so using the types without unaligned.
I still think we could use a 'get_maybe_but_probably_not_unaligned()', although it could have a better name.
People now use get_unaligned() for two reasons -- firstly because we _expect_ something to be unaligned, and we get a performance improvement if we just emit code to directly handle that instead of taking the trap. And more recently we've also started to use it because there's a _slight_ chance it could be unaligned, and some architectures can't cope.
Where the unalignment is possible but unlikely, many architectures probably shouldn't be emitting code to cope with it; they should just take the trap in the rare case.
In fact, the probability threshold at which it makes sense to just take the trap will vary from architecture to architecture. We should probably just have a get_probably_unaligned(...) macro which has its first arg as an _estimated_ constant probability. Then the architecture code could emit what it likes according to the probability.
-- dwmw2
- To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to majordomo@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/
| |