Re: Proposal: (u)intptr_t replaces (unsigned) long as opaque type

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



On Sat, Sep 18, 2010 at 07:43:42PM -0700, Greg McGary wrote:
>  On 09/18/10 16:54, Matthew Wilcox wrote:
>> Linux really only supports ILP32 and LP64 models.  Pick one, and make
>> your gcc mmtnp-unknown-linux triplet support it.
>>
>> ILP32 may be a better model for you, depending how much RAM your mmtnp
>> processor is likely to support.
>>
> Yes, I know Linux currently supports only ILP32 and LP64.  What I propose is a way to make it support something new beyond those models, and do so in a way that has no impact on vmlinux images for existing ports.

But it's only the beginnings of your problems.  There's so much userspace
code that's written assuming ILP32 / LP64.  Even inside the kernel,
people are going to constantly break your port by introducing new code
that doesn't use uintptr_t.

Then there are other things we use unsigned long for, like interrupt
status flags (spin_lock_irqsave and friends).  Should those be converted
to some new type?

> What is mmtnp?

Your processor.  I took the acronym of the description you gave.

> ILP32 will not work for me because pointers coerced to long will be truncated.  LP64 could work, but performance would suck, so that's not viable.

How bad would performance really suck?  x86-32 performance sucks on
64-bit arithmetic, but that's because it has about three registers.
With a decent size register file (16 or 32), I doubt performance will
be that bad.

If you set up your memory map correctly, truncating pointers to 32 bit
may not be a huge problem.  You can use the kmap() abstraction to run
your kernel in a 32-bit address space.

Essentially, you're asking us to take on a huge number of changes in
order to make your new processor's performance not suck.  I don't think
it likely you're going to find much sympathy here.

-- 
Matthew Wilcox				Intel Open Source Technology Centre
"Bill, look, we understand that you're interested in selling us this
operating system, but compare it to ours.  We can't possibly take such
a retrograde step."
--
To unsubscribe from this list: send the line "unsubscribe linux-arch" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at  http://vger.kernel.org/majordomo-info.html


[Index of Archives]     [Linux Kernel]     [Kernel Newbies]     [x86 Platform Driver]     [Netdev]     [Linux Wireless]     [Netfilter]     [Bugtraq]     [Linux Filesystems]     [Yosemite Discussion]     [MIPS Linux]     [ARM Linux]     [Linux Security]     [Linux RAID]     [Samba]     [Device Mapper]

  Powered by Linux