Not logged in
Log in now
Create an account
Subscribe to LWN
An "enum" for Python 3
An unexpected perf feature
LWN.net Weekly Edition for May 16, 2013
A look at the PyPy 2.0 release
PostgreSQL 9.3 beta: Federated databases and more
however you missed that libraries can allocate memory as well, and so the libraries must be compiled to only request memory under 4G as well.
The x32 system call ABI
Posted Sep 9, 2011 18:12 UTC (Fri) by gmaxwell (subscriber, #30048)
It would have ~all the performance benefits without doubling the libraries in memory. It wouldn't, however, retain the benefit of reduced porting benefit of existing 32bit crapware since pointers in library owned structures would be the other size. ::shrugs::
Posted Sep 11, 2011 3:23 UTC (Sun) by butlerm (subscriber, #13312)
It would be essentially the same as adding support for 80286 style near and far pointers across the code base. In C, every structure, every header file, every shared pointer declaration would potentially have to be marked whether it was using large or small pointers. The compiler certainly wouldn't know that an arbitrary function or structure declaration was referring to something from a library, and some libraries would have to come in a non-standard flavor in any case.
Now as you say, there are certain advantages to that, in terms of memory and cache footprint. They did it back in the x286 era for a reason. But it is much more impractical to implement that sort of thing across the source code for practically everything then simply to compile under a new ABI, especially if the new ABI performs well enough to be the system default.
A reasonable distribution policy could be to replace x86 with x32, and not ship x86_64 libraries in x32 distributions. It could simply say that if you want have a 64 bit user space, you should use a full 64 bit version. 64 bit addressing could be reserved for the kernel. If I were to guess, half of the people currently planning to use x32 (e.g. in embedded applications) have that sort of thing in mind in any case.
Posted Apr 9, 2012 21:28 UTC (Mon) by snadrus (guest, #60224)
Posted Apr 10, 2012 9:08 UTC (Tue) by khim (subscriber, #9252)
1. Open wikipedia. Read.
2. Try to pretend you never asked this question.
Perhaps then you'll be considered seriously in some future architecture dispute.
Your worst yet, and for me your last
Posted Apr 13, 2012 6:37 UTC (Fri) by biged (subscriber, #50106)
Your response here is beyond rude: it is poisonous. You should realise that with more time and attention someone might be able to explain the misconception, help others and avoid insulting anyone.
Please stop treating LWN as your inbox: post less often, and more thoughtfully. For me, you have become a spammer.
Copyright © 2013, Eklektix, Inc.
Comments and public postings are copyrighted by their creators.
Linux is a registered trademark of Linus Torvalds