You are not logged in.
I've been using linux-ck for a while, and have been tweaking a few minor options related to the processor with nconfig each time [The processor family, the preempt type and the timer frequency]. I would like to be able to set these options automatically since they've proved to increase performance slightly while still resulting in a stable system. However, I'm not sure which option(s) in the config file the preemption model changes, which I would need in order to automate this. I'm also wondering if there be any potential negative consequences for automating the configuration of such options.
These are the settings I've been using [and wish to automatically set] for my two machines:
Laptop [Core i3; x86_64]
Processor Family: Core2
Frequency: 1000 Hz
Server [2 x Athlon MP; i686]
Processor Family: K7
Preemption: None
Frequency: 100 Hz
I've been able to autoconfigure the laptop with this sed command:
sed -i -e 's/CONFIG_HZ_300=y/# CONFIG_HZ_300 is not set/g' -i -e 's/# CONFIG_HZ_1000 is not set/CONFIG_HZ_1000=y/g' -i -e 's/# CONFIG_MCORE2 is not set/CONFIG_MCORE2=y/g' -i -e 's/CONFIG_GENERIC_CPU=y/# CONFIG_GENERIC_CPU is not set/g' .config
I know what to substitute for the frequency and family for my server, but diffing my server's config against the default one has quite a few changed options, which leads me to believe that the preempt setting in nconfig changes more than one option. Anyone with a better understanding of how the kernel's configuration works know how to accomplish this?
Last edited by DarkSniper (2012-01-07 01:42:00)
Failure is not an option... It comes bundled with Windows.
Offline
You only need to configure it once, then keep that config intact for all future builds. sedding is totally unnecessary.
Offline
@op - my advice is not to use a sed command unless you spot-check it against a manually configured one. If you're compiling linux-ck, just switch on the "_use_current=y" option.
## DETAILS FOR _use_current="y"
# Enabling this option will use the .config of the RUNNING kernel rather than the ARCH defaults.
# Useful when the package gets updated and you already went through the trouble of customizing your
# config options. NOT recommended when a new kernel is released, but again, convenient for package bumps.
CPU-optimized Linux-ck packages @ Repo-ck • AUR packages • Zsh and other configs
Offline
@op - my advice is not to use a sed command unless you spot-check it against a manually configured one. If you're compiling linux-ck, just switch on the "_use_current=y" option.
## DETAILS FOR _use_current="y" # Enabling this option will use the .config of the RUNNING kernel rather than the ARCH defaults. # Useful when the package gets updated and you already went through the trouble of customizing your # config options. NOT recommended when a new kernel is released, but again, convenient for package bumps.
The comment saying that it wasn't recommended made me a little skeptical about using that option. [Though I was thinking 'Hey, that does exactly what I'm looking for!']
By new kernel, is it referring to major versions [Like 3.1.x -> 3.2.x] or minor ones [like 3.1.x -> 3.1.y]? Having to use nconfig once per major version wouldn't bother me at all, but it's a little annoying when I've had to do it with every minor version/release bump.
Slightly Offtopic: For the -corex repo package the only thing you're changing from the generic one is the processor family, correct? [I'm wanting the optimizations, but prefer to build from source]
Failure is not an option... It comes bundled with Windows.
Offline
Major versions are 3.x and minor are 3.x.y so yeah, do it once on the majors. You can also use make oldconfig for any bump. See the wiki page for Linux-ck for what goes into each package.
CPU-optimized Linux-ck packages @ Repo-ck • AUR packages • Zsh and other configs
Offline
Ok, thanks for the clarification on that!
One last thing: If I wanted to use BFQ once it's released for the 3.2 tree, would I have to disable use_current and add my custom options through nconfig again for it to work? Or would just enabling the bfq line in the pkgbuild change the necessary options in my current config?
Last edited by DarkSniper (2012-01-07 01:29:20)
Failure is not an option... It comes bundled with Windows.
Offline
You'd have to recompile the kernel enabling the bfq option... I'd recommend NOT keeping the use current in that case.
CPU-optimized Linux-ck packages @ Repo-ck • AUR packages • Zsh and other configs
Offline
Mkay, that's what I thought, Thanks for all the help!
Failure is not an option... It comes bundled with Windows.
Offline
IIRC, editing the kernel's config file manually is specifically *not* supported, because options are inter-dependent. Best to stick to e.g. "make menuconfig".
Offline