Want to read Slashdot from your mobile device? Point it at m.slashdot.org and keep reading!

 



Forgot your password?
typodupeerror
×
Linux Software

Celeron 2GHz Cache Detection? 28

EAJoe asks: "I have small problem with one Celeron 2GHz machine. Linux kernel 2.4.18-24.7 doesn't seem to switch L2 cache on! This CPU apparently _has_ 128K of L2. There is nothing about L2 in the logs, and /proc/cpuinfo shows an L1D size of 8K instead. Of course I have enabled L2 in BIOS settings (the motherboard is an ASUS P4S533-E, by the way). The CPU overclocks easily up to 3.5 GHz, running stable at 3 - it seems that cache is really switched off. At 3 GHz g++ compilation times are similar to Athlon XP 1800+ machine. I don't have windows on this computer to check this out, but Intel DOS utility shows a Celeron 2000 w/128k L2, also there is '128K' written on the CPU's die. Any suggestions?"
This discussion has been archived. No new comments can be posted.

Celeron 2GHz Cache Detection?

Comments Filter:
  • Maybe you should do a little Google search [google.com].

    The first link that returns is an old kernel patch [powerleap.com], specifically for enabling the L2 cache on a Celeron, although with "powerleap", whatever that is. That is something to try though, just make sure you have a backup kernel to boot from.

    Also, there was a post to lkml with a similar question here [iu.edu] without a solution.

    If you don't find a solution, the best place to post isn't slashdot [slashdot.org] but to LKML [kernel.org].

    • although with "powerleap", whatever that is

      "Powerleap" probably refers to the device sold by the company, that allows you to mount certain proc types on motherboards that wouldn't accept them otherwise, either because of different pinouts or whatever reason (IIRC even one where the voltages were different?), within certain limits (I don't think they sell anything that allows you to plug an 486 into a Socket A slot :-).
    • I made google search, of course, found question you mentioned, but I have different problem. POST on my PC doesn't show L2 cache size, (or it disappears too fast ;] - I'll check), but in Win2K everything is OK in Sandra L2 cache benchmarks. Cache works VERY fast and performance drops above 128KB blocks. Probably you are right suggesting to directly contact people working on kernel, thx
  • Hmmm, I doubt that without the L2 cache compilation times would be anywhere near the Athlon 1800+. More like an Athlon 180+. Compilation is a very random-memory-access process, so it would kill the P4 core with its relatively large memory latency without a cache.

    Try running a test that repeatedly accesses a block of memory 124, 125, 126, 127, 128 etc. KB in size. If you see a significant drop in speed when the block size grows above 128, you probably have your cache.

    Anyway, is it the _kernel_'s job to turn on the cache? Isn't that supposed to be the BIOS' job?
    • You should be able to see the actual cache size that linux sees via /proc/cpuinfo, look for "cache size".

      I agree, it should really be the BIOS' job to turn on the cache, and there were some references to buggy BIOSes in the minor searching I did.

      • cat /proc/cpuinfo
        processor : 0
        vendor_id : GenuineIntel
        cpu family : 15
        model : 1
        model name : Intel(R) Celeron(R) CPU 1.80GHz
        stepping : 3
        cpu MHz : 1800.328
        cache size : 8 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 pae mce cx8 apic sep mtrr pge mca cmov pat pse36 clflush dts acpi mmx fxsr sse sse2 ss ht tm
        bogomips : 3591.37
    • as I understand it, the kernel doesn't care what the BIOS says, it goes on its own thing. eg: replace a hard drive with a cdrom on a x86 system, and mount it. The cdrom will mount, despite the BIOS telling you that there is a hard drive there.
    • L2 is turned on in the BIOS. The kernel can use it, but it doesn't. I don't believe that Celeron /northwood chip, in fact/ can be as slow @3000, as Athlon XP at 1533 (1800+). I can believe in 20% performance drop, not 100%, sorry. Especially when L2 size is not reported properly by kernel... I tried to follow your suggestion of directly measuring performance drop for memory access. I run some old benchmark, but results are not easy to interpret. Performance drops at 32-64K for Cel, and 64-128K chunks for Athlon XP..... ;} It's not so easy, as it seems, maybe you know good cache benchmark for linux ?
  • I have a 1.7ghz p4 williamete with 128kb of L2 (celeron 1.7ghz :P) (stable at 2.1ghz+ with intel OEM HSF rated to 2.4ghz)... Some programs do actualy have trouble determining the cache of the CPU, (2 mIRC scripts say 0kb, and a few other programs display blanks under L2..)

    Dont know if its related but yea......

  • Can you please try running your compilation benchmark with the BIOS attempting to turn the cache on and the BIOS attempting to turn the cache on, and verify that the compilation times match? Please try doing the compilation a few times each way, so you can have some sense of the variation not due to this change. That would help confirm whether the cache is indeed off in both cases.
  • Inspired by this thread, I double-checked one of my systems, found that the L2 cache wasn't being picked up because of a BIOS bug, flashed the BIOS with the newest version and got an instant, free speed boost on an aging machine.

    Thanks, slashdot!

"The medium is the massage." -- Crazy Nigel

Working...