SlackwareThis Forum is for the discussion of Slackware Linux.
Notices
Welcome to LinuxQuestions.org, a friendly and active Linux Community.
You are currently viewing LQ as a guest. By joining our community you will have the ability to post topics, receive our newsletter, use the advanced search, subscribe to threads and access many other special features. Registration is quick, simple and absolutely free. Join our community today!
Note that registered members see fewer ads, and ContentLink is completely disabled once you log in.
If you have any problems with the registration process or your account login, please contact us. If you need to reset your password, click here.
Having a problem logging in? Please visit this page to clear all LQ-related cookies.
Get a virtual cloud desktop with the Linux distro that you want in less than five minutes with Shells! With over 10 pre-installed distros to choose from, the worry-free installation life is here! Whether you are a digital nomad or just looking for flexibility, Shells can put your Linux machine on the device that you want to use.
Exclusive for LQ members, get up to 45% off per month. Click here for more info.
Hi all, since I have two machines with Haswell and Broadwell processors, both Xeon E5, one v3 other v4, I was checking around again about using -march=native with GCC for building binary.
I found a thread on Arch they are talking about move to a newer architecture like x86_64-v3. I wonder if Slackware could do the same. I will try to run the same test in the next couple of days(can't do right now). I think this could help improve a lot the performance in Desktop and Servers, but I don't know the specs of all other Slackware Users.
There is GCC manual, for every major version, there is "whats new" for every version and there is online GCC changelog. If you are interested in all this then GCC online documentation is the place to start.
Slackware is not likely to move to a newer version of the 64-bit architecture since it supports very old hardware (including 32-bit!)
A pragmatic approach is for you to compile with -march=native any programs and libraries that you care about the performance increase. That will be programs that can take advantage of AVX.
I found that compiling with -march=native increased the speed of one program that I care about by 15% on my Haswell-E. That is a big enough difference for me to use -march=native for my local builds.
Ed
Hi all, since I have two machines with Haswell and Broadwell processors, both Xeon E5, one v3 other v4, I was checking around again about using -march=native with GCC for building binary.
I found a thread on Arch they are talking about move to a newer architecture like x86_64-v3. I wonder if Slackware could do the same. I will try to run the same test in the next couple of days(can't do right now). I think this could help improve a lot the performance in Desktop and Servers, but I don't know the specs of all other Slackware Users.
Switching to using this "x86_64-v3", then to use the SSE4 extensions, will result on Slackware64 to be unable to run in a box with an AMD Phenom II x6 and 64GB DDR3 1600 MHz memory. Because unsupported too old hardware.
I do not think this will happen on our remaining life span.
Last edited by LuckyCyborg; 03-22-2021 at 02:14 PM.
Maybe I didn't express my intention on my first post, I mean not to change the current x86_64 to it, but support a new official architecture for boost the performance in newer hardware, like:
Only a small number of programs benefit from architectural improvements beyond the base x86_64. These are floating-point intensive, i.e. not the kind that typically come with an OS.
Ed
Maybe I didn't express my intention on my first post, I mean not to change the current x86_64 to it, but support a new official architecture for boost the performance in newer hardware, like:
I'm by no means a psychic, but if we look at the history of Slackware's 32bit version, it is unlikely that Pat would create two 64bit versions. Pat has had many 32bit architectures available, but only provided one version of 32bit Slackware. He only started transitioning from i486 to i586 in 2015, 22 years after i586 was introduced.
Even with -current, there's only 11 packages compiled for i686 (which was released in 1995), the kernel (with 3 packages, generic, huge, and modules), cargo, rust, xf86-video-intel, firefox, thunderbird, seamonkey, xaos, and xine-ui. Everything else is based on i586.
Does this mean that Pat won't do a second 64bit version? No, but if history is an indicator, it's unlikely. Similarly, looking at history, it would likely be a long time before Pat would transition the x86_64 builds to x86_64-v3 (potentially 20+ years).
Well I started to build the port to the new micro-architecture levels defined in the x86-64 psABI, using the slackware git source repo hosted by alienbob.
I am using the -march=x86-64-v3 with GCC 11.2 since 10.3 don't have this implemented.
After I compile all packages I will provide a public url to you guys tryout.
My aim is to try implement on top of Slackware the glibc-hwcaps which offers a way to load optimized libraries that use additional hardware features that might not be present on all systems, which is already included on glibc 2.33.https://www.phoronix.com/scan.php?pa...-Coming-HWCAPS
Maybe I will need use the optimization flag "-O2 -ftree-vectorize" or change it to "-O3" where is enabled by default. I am checking some stuff from ClearLinux, like the FMV patch generator repository. I'm very raw on this subject(brazilian expression, don't know how will sound).
I know not many are replying to this, but I appreciate your efforts, please keep us posted. I'd be curious to try x86_64-v3 base, glibc, etc packages on a test install if you make them available.
In the past 2 days I am refining the Slackware 15.0 source scripts to build with -march=x86-64-v3.
Some packages has issue because couldn't build against parallelism, as example, nvi couldn't install using parallel, needed to force
I am not ready to release the compiled files, since I am using make_world.sh and they put all files in OUTPUT_LOCATION without the hierarchy. I will move the files to Slackware folders and I will let a ftp, also a rsync to be easy to get or to upgrade to Slackware64:v3 15.0
Right now I am building Qt. Few other packages have not built, one is Plasma-Wayland who ask for Plasma-Wayland-Protocols to be installed, I think they are not in order, I will build it first outside of make_world.sh, then rerun make_word.sh, or just install it from the slackware repo, since it will be rebuilt later.
Well that is all, I will come back in couple of days.
Last edited by gbschenkel; 02-06-2022 at 10:15 PM.
Distribution: slackware, slackware from scratch, LFS, slackware [arm], linux Mint...
Posts: 1,564
Rep:
I may be interested by your optimizations for SFS : https://github.com/nobodino/slackware-from-scratch.
For the time being, I want to check the glibc-2.34 transition and then glibc-2.35.
But I will keep an eye on your project.
This sounds interesting. Does a Ryzen 1700 fall into the "x86_64-v3" category?
I can't think of any reason why this would be a problem, even if only some parts of the system are upgraded - compilation flags should not affect ABI compatability, right?
LinuxQuestions.org is looking for people interested in writing
Editorials, Articles, Reviews, and more. If you'd like to contribute
content, let us know.