K, guys. I have changed to 64-bit platform (Athlon64 X2, to be precise) not long ago. I do not wish to play in all that 64-bit stuff just yet, I'm running my good ol' 32-bit Arch.
The problem occurs when I try to compile my own kernel (like I always used to) - even with the same config as stock kernel, the behaviour of self-compiled kernel is worse (sound stutters under load etc.). I haven't changed any flags in makepkg.conf from the defaults ones ("-march=i686 -O2 -pipe").
The question is: why does the kernel compiled on my new AMD64 "stutters", whereas any kernel dragged from repositories (thus compiled on 32-bit machine) works okay? What can I do about it?
Thanks for any possible enlightenment.
Can you post the .config from the kernel build directory (not the one used by the PKGBUILD, as some architecture stuff is sometimes added to the final version) so that we can look at it?
Are you using all the patches from the stock kernel?
Do you use any non-standard patchsets like ck?
I have tried different combinations - yet even building the stock kernel precisely as it is in Arch (everything taken from ABS) yielded unsatisfactionary results, while the same stock kernel downloaded from official repos worked "properly" - the only difference is that one was built locally, the other by devs, thus the culprit seems to be somehow connected with my build environment, not config or patches.
I build my own kernel on a dual Opteron system, I copy the ABS kernel26 directory to a work directory, change two lines in the config (disable 4GB RAM and enable 64GB RAM) and run makepkg. I've had no problems... I think.
Now that you mention this, I'm going to have to check. I get some less than perfect mpeg playing from my tv card, which really should not happen, as I should have more than enough CPU horsepower. I've not looked into any tweaking, or anything else yet, just a quick test to make sure the card was working, so It may not be related.
Also, I use distcc, so I have a pair of 3GHz P4's working on the build, and this may make a difference (it's not supposed to, however).
When I get in front of the Opteron workstation next week I'll check into this more. I'm thinking that it should not make a difference, if all the source and config files are the same, but I am by no means a wizard.
carb $ now; uname -a; uptime
Sun 03Jul11 14:54:25 CDT -0500
Linux carb 2.6.17-ARCH #1 SMP PREEMPT Fri Jul 7 09:15:53 CEST 2006 i686 Pentium III (Coppermine) GenuineIntel GNU/Linux
14:54:25 up 1463 days, 9:24, 1 user, load average: 1.00, 1.00, 1.00
The only other possible differences I could figure would be from errors (maybe due to overclocking, but maybe not) during the compile process or different compiler versions. I assume you've updated to the latest of everything.
Also, have you tried setting the CPU in kernel config to K8/Hammer instead of the Arch default?
This is the first part of my .config for 32-bit kernel. I don't have my 64-bit .config handy, but it's similar with just a different architecture shown (X86_64 instead of X86_32).
# # Automatically generated make config: don't edit # Linux kernel version: 2.6.16 # Tue Mar 21 09:07:36 2006 # CONFIG_X86_32=y CONFIG_SEMAPHORE_SLEEPERS=y CONFIG_X86=y CONFIG_MMU=y CONFIG_GENERIC_ISA_DMA=y CONFIG_GENERIC_IOMAP=y CONFIG_ARCH_MAY_HAVE_PC_FDC=y CONFIG_DMI=y