Page 2 of 4 FirstFirst 1234 LastLast
Results 11 to 20 of 34

Thread: Linux x32 Is Made Easier With Ubuntu 13.04

  1. #11
    Join Date
    Apr 2010
    Posts
    770

    Default

    Quote Originally Posted by Ericg View Post
    Thats exactly what it does Delgarde, you get the performance benefits of the 64bit, without the memory implications. So say you've got a brand new CPU but only 1gig of memory (for whatever reason) x32 is your best option.
    I guess it makes sense if you have a purely x32 system... I was kind of assuming a hybrid of x86_64 for the stuff that needs it, and x32 for the rest.

    That said, I can't think that there are many people in the position where this is genuinely useful. You say "for whatever reason", but it's hard to think of one - more likely if someone is that constrained by memory, they're also running quite an old CPU, something on the order of six or seven years old. And such as person is probably quite happy running in traditional x86 mode...

  2. #12
    Join Date
    Oct 2008
    Posts
    3,173

    Default

    Quote Originally Posted by Delgarde View Post
    I guess it makes sense if you have a purely x32 system... I was kind of assuming a hybrid of x86_64 for the stuff that needs it, and x32 for the rest.

    That said, I can't think that there are many people in the position where this is genuinely useful. You say "for whatever reason", but it's hard to think of one - more likely if someone is that constrained by memory, they're also running quite an old CPU, something on the order of six or seven years old. And such as person is probably quite happy running in traditional x86 mode...
    My understanding is that there are certain server apps that can run significantly faster in x32 code, and that hardware vendors were excited to be able to pump up their benchmark results. Obviously it's only acceptable in certain circumstances, when those apps don't require 4+ GB of memory.

    On the client side, i wonder if Ubuntu is interested in it for possible use in an Intel tablet? I agree it's probably not useful for most people.

  3. #13
    Join Date
    Oct 2009
    Posts
    845

    Default

    Quote Originally Posted by Delgarde View Post
    I guess it makes sense if you have a purely x32 system... I was kind of assuming a hybrid of x86_64 for the stuff that needs it, and x32 for the rest.

    That said, I can't think that there are many people in the position where this is genuinely useful. You say "for whatever reason", but it's hard to think of one - more likely if someone is that constrained by memory, they're also running quite an old CPU, something on the order of six or seven years old. And such as person is probably quite happy running in traditional x86 mode...
    One of my machines is a core i5 with 4gb ram, and I certainly wouldn't mind using x32 on it, particularly if there are noticeable performance increases to be had in cpu intensive code (of course less memory usage is also nice, win-win). Note that the 32-bit addessing limitation is per-process, so while a single program can only address 4gb, another program could make use of another 4gb ram 'chunk' if it is available, atleast that is how I understand the way x32 was implemented.

    Of course unless a distro is maintaining a x32 branch it could probably get tedious to compile every package yourself (unless you use Gentoo). Someone has offered up x32 packages for Arch on AUR and I will try them out one of these days.

  4. #14
    Join Date
    Oct 2008
    Posts
    3,173

    Default

    Quote Originally Posted by XorEaxEax View Post
    Note that the 32-bit addessing limitation is per-process, so while a single program can only address 4gb, another program could make use of another 4gb ram 'chunk' if it is available, atleast that is how I understand the way x32 was implemented.
    That's correct. You just use a standard x64 kernel, so the OS can still access as much RAM as it needs. But each x32 app running can only access up to 4GB of virtual address space.

  5. #15
    Join Date
    Nov 2007
    Posts
    1,024

    Default

    Quote Originally Posted by smitty3268 View Post
    That's correct. You just use a standard x64 kernel, so the OS can still access as much RAM as it needs. But each x32 app running can only access up to 4GB of virtual address space.
    It's not quite a standard x64 kernel. It has to know not to allocate virtual address space to a userspace process that it can't handle but still has different semantics with "normal" 32-bit processes, e.g., the size of time_t and other values are 64-bit for x32/x64 apps but only 32-bit for x86 apps. It's true that most of the kernel is in x64 mode though, and I think that the x32-compatible kernel can also run x86/x64 apps.

  6. #16
    Join Date
    May 2012
    Posts
    23

    Default

    I can imagine x32 being useful in an x86-64-based phone or tablet running a flavor of Android. I haven't seen too many Android devices equipped with more than 4GB RAM quite yet.

  7. #17
    Join Date
    Sep 2008
    Location
    Vilnius, Lithuania
    Posts
    2,599

    Default

    Quote Originally Posted by Veerappan View Post
    So, the next question... what sort of compatibility in a multi-lib system can we expect?

    The processor is 64-bit and is using the x86-64 instruction set, but with 32-bit pointers... so it's a bit of a hybrid.

    Will we get the lowest-common-denominator (i.e. x86), or do we also get compatibility with 64-bit libraries/programs?

    Or is x32 special and can only run x32 code?
    You run x32 libraries and binaries. If there is something else you need that there is no x32 version for it, you install the x86_64 libraries. If there is yet something else you need that there is no x86_64 version for it, you install the i586 libraries.

    Quote Originally Posted by Delgarde View Post
    I guess it makes sense if you have a purely x32 system... I was kind of assuming a hybrid of x86_64 for the stuff that needs it, and x32 for the rest.

    That said, I can't think that there are many people in the position where this is genuinely useful. You say "for whatever reason", but it's hard to think of one - more likely if someone is that constrained by memory, they're also running quite an old CPU, something on the order of six or seven years old. And such as person is probably quite happy running in traditional x86 mode...
    Yeap, you are free to use pure x32. Though the support for it is probably similar to running the packages on ARM - by far not everything has support for it.

    And it would work well for slow netbooks. I have one, an AMD Fusion E-350 device, which is x86_64 but could use the x32 advantages. Though I need to run things like Skype on it, so right now it's not a very good option...

  8. #18
    Join Date
    Mar 2011
    Posts
    380

    Default

    Quote Originally Posted by GreatEmerald View Post
    Though I need to run things like Skype on it, so right now it's not a very good option...
    If you run a x86_64 distro right now it will be a benefit as you just replace the x86_64 stuff with x32 stuff. x86 stuff (like Skype) won't change at all.

  9. #19
    Join Date
    Sep 2008
    Location
    Vilnius, Lithuania
    Posts
    2,599

    Default

    Quote Originally Posted by TAXI View Post
    If you run a x86_64 distro right now it will be a benefit as you just replace the x86_64 stuff with x32 stuff. x86 stuff (like Skype) won't change at all.
    Yes, but I also need plenty of x86_64 programs. They are available in i586, of course, but that is also suboptimal. Though I suppose it's better than to have a i585+x32+x86_64 multilib. In either case, I'll put Gentoo on it for additional speed, since now I have a dedicated distcc server and all.

  10. #20
    Join Date
    Sep 2009
    Posts
    60

    Default Advantage = Speed

    Those shorter 32-bit instructions mean the CPU can visit more of them per second than in 64-bit (think memory bandwidth). More programs can live in the CPU cache.
    But you also get the gains of more registers over i586 (and some new instructions) which allows longer function call parameter lists to stay in CPU registers instead of going onto the stack.

    So yes, it's a slight memory benefit which is offset by having double the libraries (making no benefit), but the memory gain is in the instructions and they're upgraded 64-bit instructions. The 4gb limit downside probably doesn't apply to most software. Even a 32-bit movie player or video encoder can play files over 4gb as it doesn't keep it in-memory all the time.

    In terms of software that shouldn't consider this:
    - In-memory server databases probably should stay 64-bit (caching proxies?)
    - Highly-monolithic software (some groupware servers)
    - Complex modeling (rendering elaborate 3d scenes) == some games.
    Though they benefit from tight memory use & going x32. It's a feature Linux has over games on Windows.
    - Anything that needed 64-bit to begin with should stay. This really isn't much software at all.

    The best solution would be to have x32 as the default in a distro, and the occasional program in 64-bit that actually needs it.

Posting Permissions

  • You may not post new threads
  • You may not post replies
  • You may not post attachments
  • You may not edit your posts
  •