[lkml]   [2006]   [May]   [8]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
Messages in this thread
    SubjectRe: Information for setting up SMT related parameters on linux 2.6.16 on POWER5
    On Mon, 2006-05-08 at 12:09 -0600, Meswani, Mitesh wrote:
    > Hello


    > I am looking to use the SMT related parameters like Snooze delay, HMT
    > thread priorities, SMT ON/Off and wanted to know how to invoke and set
    > them. I am running Open Suse 10 with 2.6.16.rc4-3-ppc64 kernel on
    > eServer p590 2-way POWER5 partition.

    > I noticed the parameters in /sys/devices/system/cpu/cpu# with the
    > following :
    > mmcr0 online pmc2 pmc5 smt_snooze_delay
    > mmcr1 physical_id pmc3 pmc6 topology
    > crash_notes mmcra pmc1 pmc4 purr

    Some of this is unique to Logical Partitions and cpu's on POWER5 pSeries
    hardware.. I think you've already found the useful entry "online",
    and the rest would be just trivial information.

    On the kernel boot commandline, you can add parms such as
    "smt-snooze-delay=xxxx" to set the snooze_delay value, and
    "smt-enabled=off" to turn off the secondary threads.

    As you've already found, you can echo values into the sys entries to
    cause the cpus to go online or offline. 0=offline, 1=online. You can
    also adjust the value for snooze-delay. This one defaults to '0'. This
    controls the amount of time the processor thread spins before declaring
    that it's got no useful work to do and cedes itself.

    "mmcr*" and "pmc*" are performance counter registers and values. These
    are used by oprofile.

    "purr" is a Processor Utilization Resource Register, indicating the
    number of ticks that the processor has been in use.

    I believe "crash_notes" has to do with lkcd or crashdump.

    No idea on the "topology" entry. possibly related to NUMA.

    > setting the value in online to 0 seems to turn off the logical
    > processor, but I am not sure what the others are for and the meaning
    > of their hex values?
    > It seems that there is include/asm-ppc64/processor.h with macros like
    > HMT_very_low() , wonder if these can be set on command line
    > since I am running unmodified app binaries.

    the HMT_* macros are telling firmware that "this processor thread should
    run at this priority". Typically used when we're waiting on a spinlock.
    I.e. When we are waiting on a spinlock, we hit the HMT_low macro to drop
    our threads priority, allowing the other thread to use those extra
    cycles finish it's stuff quicker, and maybe even release the lock we're
    waiting for. HMT_* is all within the kernel though, no exposure
    to userspace apps.

    > Thanks,
    > Mitesh

    Hope that is helpful..

    > Mitesh R. Meswani
    > Ph.D. Candidate
    > Research Associate, PLS2 Group
    > Room 106 F, Department of Computer Science
    > The University of Texas at El Paso,
    > El Paso, Texas 79968
    > Tel: 915 747 8012 (O)
    > Email:
    > ______________________________________________________________________
    > From: on behalf of
    > Geoff Levand
    > Sent: Fri 5/5/2006 6:00 PM
    > To: Paul Mackerras
    > Cc: Arnd Bergmann; Levand,Geoffrey;;
    >; Arnd Bergmann;
    > Subject: Re: [PATCH 04/13] cell: remove broken __setup_cpu_be function

    > _______________________________________________
    > Linuxppc-dev mailing list

    To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
    the body of a message to
    More majordomo info at
    Please read the FAQ at

     \ /
      Last update: 2006-05-08 22:06    [W:0.025 / U:3.484 seconds]
    ©2003-2016 Jasper Spaans. hosted at Digital OceanAdvertise on this site