# Some kernel configuration questions

## SlackwareInAZ

This is for Neddy Sagoon or any other kernel guru out there.

Always trying to optimize my kernel configuration. Have a Core 2 Duo e4500 computer with 3gb DDR2 ram and 400GB SATA drive formatted with ext3 or more recently ext4dev.

With a blank .config file, tickless support, high resolution timer support, HPET timer support and Allocate third-level pagetables from highmem are not enabled by default.  I have been enabling all but the third level allocation entry after reading the help on each one. My general theory, though, contradicts this as I always assumed that if something, other than the obvious drivers or filesystem choices, was not enabled by default, I wouldn't shouldn't need it unless I have a specific need.

Concerning the third level allocation entry, would it be a good idea to enable it on a desktop system iwth low demands (I only tinker around on Gentoo using firefox while compiling, etc.) and 3gb of memory. I know my application demands are low, and per the help section there is a speed penalty, so again, your best guess would be welcome.

Last question.  Until recently I always cranked the timer mhz up to 1000- I guess thinking more is better. Noticed the default value is 250mhz.

WIh it set at 1000mhz,. my load values on startup into init3 using top seemed lower as well as the cpu sy and us values.

Using 250mhz, things seem fine, but it takes longer for top to settle to 0.00 0.00 0.00

What is the most current recommendation for a desktop system with my system specs using mostly ext3fs, occasionally reiser4 or ext4dev, concerning the timer mhz setting?

Any information would be most appreciated.

Gary   :Smile: 

----------

## NeddySeagoon

SlackwareInAZ,

Why do you buy that CPU and only use the bottom half of it by installing a 32 bit OS ?

Allocate third-level pagetables from highmem is not an option on 64 bit installs, as it not needed.

Tickless is good.

The timer interrupt transfers control to the kernel Hz times a second, so it can check on what it needs to do.

If there is nothing to do, its wasted time as the IRQ still has to be serviced. So high numbers reduce latency at the expense of wasting more time.

ext4 is not ready for general use - I hope your backups are up to date.

----------

## SlackwareInAZ

Neddy Saloon,

So you're telling me that my Core 2 Duo can support 64-bit Gentoo?  Per this link:

http://gentoo-wiki.com/Safe_Cflags#Intel_Core_Solo.2FDuo.2C_Pentium_Dual-Core_Txxxx

I see nothing that indicates my Core2 Duo being able to handle a 64bit os. Any clarification on this processor would be most appreciated--CFlags and appropriate tarballs to start.

Thanks,

Gary

P.S. Regarding the timer mhz issue, I think, as is usually the case, that higher frequency ensures nothing will be missed, concerning work for the CPU to perform at the expense of a little more overhead, so is 1000Mhz the way to go then?

----------

## SlackwareInAZ

Neddy Saloon,

I stand corrected   :Embarassed: 

root@cox:~# cat /proc/cpuinfo

processor       : 0

vendor_id       : GenuineIntel

cpu family      : 6

model           : 15

model name      : Intel(R) Core(TM)2 Duo CPU     E4500  @ 2.20GHz

stepping        : 13

cpu MHz         : 2195.204

cache size      : 2048 KB

fdiv_bug        : no

hlt_bug         : no

f00f_bug        : no

coma_bug        : no

fpu             : yes

fpu_exception   : yes

cpuid level     : 2

wp              : yes

flags           : fpu vme de pse tsc msr mce cx8 apic pge cmov clflush mmx fxsr sse sse2 constant_tsc up monitor

bogomips        : 4403.28

clflush size    : 64

I have the model15 which means I can run 64-bit os. Yeay!

Should I wait for 2008.0 profile or use a funtoo tarball?

Any other suggestions other than redoing my /etc/make.conf with the correct flags:

CHOST="x86_64-pc-linux-gnu"

CFLAGS="-march=nocona -O2 -pipe"

CXXFLAGS="${CFLAGS}"

Thanks,

Gary

----------

## NeddySeagoon

SlackwareInAZ,

Hmm ... I thought all the Core 2 duos were 64 bit capable.

However, your flags is missing lm ... for long machine, or 64 bit.

Your flags line is also very short, it normally wraps (or gets truncated) so are you sure you posted it all.

The timer frequency in in Hz, not MHz. Experiment with 250Hz and 1000Hz. Unless you are working the system really hard, I doubt you will notice a difference.

Use a drobbins tarball - no need to wait for 2008.0.  You will probably want to rebuild everything anyway.

----------

## SlackwareInAZ

Here's the full cpuinfo:

root@cox:~# cat /proc/cpuinfo

processor       : 0

vendor_id       : GenuineIntel

cpu family      : 6

model           : 15

model name      : Intel(R) Core(TM)2 Duo CPU     E4500  @ 2.20GHz

stepping        : 13

cpu MHz         : 1200.000

cache size      : 2048 KB

physical id     : 0

siblings        : 2

core id         : 0

cpu cores       : 2

fdiv_bug        : no

hlt_bug         : no

f00f_bug        : no

coma_bug        : no

fpu             : yes

fpu_exception   : yes

cpuid level     : 10

wp              : yes

flags           : fpu vme de pse tsc msr pae mce cx8 apic sep mtrr pge mca cmov pat pse36 clflush dts acpi mmx fxsr sse sse2 ss ht tm pbe lm constant_tsc arch_perfmon pebs bts pni monitor ds_cpl est tm2 ssse3 cx16 xtpr lahf_lm

bogomips        : 4402.33

clflush size    : 64

processor       : 1

vendor_id       : GenuineIntel

cpu family      : 6

model           : 15

model name      : Intel(R) Core(TM)2 Duo CPU     E4500  @ 2.20GHz

stepping        : 13

cpu MHz         : 1200.000

cache size      : 2048 KB

physical id     : 0

siblings        : 2

core id         : 1

cpu cores       : 2

fdiv_bug        : no

hlt_bug         : no

f00f_bug        : no

coma_bug        : no

fpu             : yes

fpu_exception   : yes

cpuid level     : 10

wp              : yes

flags           : fpu vme de pse tsc msr pae mce cx8 apic sep mtrr pge mca cmov pat pse36 clflush dts acpi mmx fxsr sse sse2 ss ht tm pbe lm constant_tsc arch_perfmon pebs bts pni monitor ds_cpl est tm2 ssse3 cx16 xtpr lahf_lm

bogomips        : 4399.95

clflush size    : 64

One question. Never did the 64-bit install before. The little reading I've done in the last hour indicates you can't do a chroot from a 32-bit cd. I guess there are 64-bit livecd's that are recommended to facilitate a gentoo 64-bit install?

Gary

----------

## easy target

 *SlackwareInAZ wrote:*   

> 
> 
> One question. Never did the 64-bit install before. The little reading I've done in the last hour indicates you can't do a chroot from a 32-bit cd. I guess there are 64-bit livecd's that are recommended to facilitate a gentoo 64-bit install?
> 
> Gary

 

Yes, you can't chroot from 32bit to 64bit.

There is a gentoo 64bit install cd.

Also with sysreccd you should be able to install 64bit gentoo (I haven't used it).

----------

## NeddySeagoon

SlackwareInAZ,

Your flags has the lm flag.

You need the amd64 liveCD as a 32 bit kernel cannot support a 64 bit userland. 

The other way round works, with the right kernel options but there are some things that have to be migrated from 32 bit to 64 bit in sets, which makes the upgrade somewhere between very messy and impossible.

Redo your install, or find some space to run a 64 bit install beside the 32 bit one you already have.

----------

