Re: [PATCH 01/10] Use __kernel_long_t in struct timex

From: Linus Torvalds
Date: Thu May 17 2012 - 18:32:19 EST


On Thu, May 17, 2012 at 3:13 PM, H.J. Lu <hjl.tools@xxxxxxxxx> wrote:
>
> Replace long with __kernel_long_t in struct timex for user space.

I absolutely detest these types.

I realize that we already have a few users, but just looking at these
diffs *hurts*. It's disgusting.

The whole __kernel_ prefix was a mistake, but it at least makes sense
for certain things where it is really about some random kernel choice
(ie __kernel_pid_t). Even there I despise it, because it's not really
about "kernel choice", it's about just the real native type for uid_t
- the fact that user-mode then occasionally screwed up because glibc
has chosen crazy extended types is really not a "kernel" issue at all.
So the naming in general is painful.

When it comes to the x32 thing I think it's *doubly* wrong, because
this isn't even about a "kernel choice". It's damn well the native
machine word-size. The fact that a limited user-mode ABI then limits
"long" to 32-bit is not the kernels problem.

So I'd really like to see some discussion about naming. What does this
have to do with "kernel"? Nothing. It's the native word-size of the
machine, for crying out loud. The fact that some user interfaces may
limit themselves is not a "user mode vs kernel" thing.

Linus
--
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/