03 May, 2007

1 commit


21 Feb, 2007

2 commits

  • Let's save a few bytes in the CONFIG_SMP=n case.

    Signed-off-by: Adrian Bunk
    Signed-off-by: Dave Jones

    Adrian Bunk
     
  • There was OpenVZ specific bug rendering some cpufreq drivers unusable on SMP.
    In short, when cpufreq code thinks it confined itself to needed cpu by means
    of set_cpus_allowed() to execute rdmsr, some "virtual cpu" feature can migrate
    process to anywhere. This triggers bugons and does wrong things in general.

    This got fixed by introducing rdmsr_on_cpu and wrmsr_on_cpu executing rdmsr
    and wrmsr on given physical cpu by means of smp_call_function_single().

    Dave Jones mentioned cpufreq might be not only user of rdmsr_on_cpu() and
    wrmsr_on_cpu(), so I'm putting them into arch/{i386,x86_64}/lib/ .

    Signed-off-by: Alexey Dobriyan
    Cc: Andi Kleen
    Signed-off-by: Andrew Morton
    Signed-off-by: Dave Jones

    Alexey Dobriyan
     

13 Dec, 2006

2 commits


07 Dec, 2006

2 commits


16 Oct, 2006

1 commit

  • Enable ondemand governor and acpi-cpufreq to use IA32_APERF and IA32_MPERF MSR
    to get active frequency feedback for the last sampling interval. This will
    make ondemand take right frequency decisions when hardware coordination of
    frequency is going on.

    Without APERF/MPERF, ondemand can take wrong decision at times due
    to underlying hardware coordination or TM2.
    Example:
    * CPU 0 and CPU 1 are hardware cooridnated.
    * CPU 1 running at highest frequency.
    * CPU 0 was running at highest freq. Now ondemand reduces it to
    some intermediate frequency based on utilization.
    * Due to underlying hardware coordination with other CPU 1, CPU 0 continues to
    run at highest frequency (as long as other CPU is at highest).
    * When ondemand samples CPU 0 again next time, without actual frequency
    feedback from APERF/MPERF, it will think that previous frequency change
    was successful and can go to wrong target frequency. This is because it
    thinks that utilization it has got this sampling interval is when running at
    intermediate frequency, rather than actual highest frequency.

    More information about IA32_APERF IA32_MPERF MSR:
    Refer to IA-32 Intel® Architecture Software Developer's Manual at
    http://developer.intel.com

    Signed-off-by: Venkatesh Pallipadi
    Signed-off-by: Dave Jones

    Venkatesh Pallipadi
     

26 Sep, 2006

1 commit

  • This patch adds macros for reading tsc via the RDTSCP instruction, as well
    as writing the auxilliary MSR read by RDTSCP to msr.h

    [AK: changed rdtscp definition for old binutils]

    Signed-off-by: Vojtech Pavlik
    Signed-off-by: Andi Kleen

    Vojtech Pavlik
     

21 Nov, 2005

1 commit

  • Ever since we remove msr.c from x86_64 branch and started grabbing it from
    i386, msr device (read functionality) has been broken for us.

    This is due to the differences between asm-i386/msr.h and asm-x86_64/msr.h interfaces.

    Here is a patch to our side to fix this.

    Thankfully, as of current (2.6.15-rc1-git6) tree, arch/i386/kernel/msr.c is the only file that uses rdmsr_safe macro.

    Signed-off-by: Jacob Shin
    Signed-off-by: Andi Kleen
    Signed-off-by: Linus Torvalds

    Jacob.Shin@amd.com
     

15 Nov, 2005

1 commit


30 Sep, 2005

1 commit


13 Sep, 2005

2 commits


29 Jul, 2005

1 commit


24 Jun, 2005

1 commit


17 Apr, 2005

2 commits

  • This will allow hotplug CPU in the future and in general cleans up a lot of
    crufty code. It also should plug some races that the old hackish way
    introduces. Remove one old race workaround in NMI watchdog setup that is not
    needed anymore.

    I removed the old total sum of bogomips reporting code. The brag value of
    BogoMips has been greatly devalued in the last years on the open market.

    Real CPU hotplug will need some more work, but the infrastructure for it is
    there now.

    One drawback: the new TSC sync algorithm is less accurate than before. The
    old way of zeroing TSCs is too intrusive to do later. Instead the TSC of the
    BP is duplicated now, which is less accurate.

    akpm:

    - sync_tsc_bp_init seems to have the sense of `init' inverted.

    - SPIN_LOCK_UNLOCKED is deprecated - use DEFINE_SPINLOCK.

    Cc:
    Cc:
    Signed-off-by: Andi Kleen
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Andi Kleen
     
  • Initial git repository build. I'm not bothering with the full history,
    even though we have it. We can create a separate "historical" git
    archive of that later if we want to, and in the meantime it's about
    3.2GB when imported into git - space that would just make the early
    git days unnecessarily complicated, when we don't have a lot of good
    infrastructure for it.

    Let it rip!

    Linus Torvalds