From 90a8dd3c63fcd05c584d6523f34b93b0aa6714b4 Mon Sep 17 00:00:00 2001 From: Dmitry Torokhov Date: Wed, 1 Jun 2005 02:37:23 -0500 Subject: [PATCH] --- yaml --- r: 3534 b: refs/heads/master c: 9d5432979951c8761c2b4517007039b9bcc1c110 h: refs/heads/master v: v3 --- [refs] | 2 +- .../Documentation/cpu-freq/cpufreq-stats.txt | 128 ++++ trunk/MAINTAINERS | 4 +- trunk/arch/h8300/kernel/process.c | 2 +- trunk/arch/i386/kernel/cpu/cpufreq/Kconfig | 14 +- trunk/arch/i386/kernel/cpu/cpufreq/Makefile | 1 + trunk/arch/i386/kernel/cpu/cpufreq/longhaul.c | 58 +- .../i386/kernel/cpu/cpufreq/powernow-k7.c | 11 +- .../i386/kernel/cpu/cpufreq/powernow-k8.c | 113 ++-- .../i386/kernel/cpu/cpufreq/powernow-k8.h | 15 + .../arch/i386/kernel/cpu/cpufreq/sc520_freq.c | 186 ++++++ .../kernel/cpu/cpufreq/speedstep-centrino.c | 6 + .../i386/kernel/cpu/cpufreq/speedstep-lib.c | 6 +- .../i386/kernel/cpu/cpufreq/speedstep-smi.c | 3 + trunk/arch/i386/kernel/cpu/intel_cacheinfo.c | 2 +- trunk/arch/i386/kernel/setup.c | 2 + trunk/arch/i386/kernel/smpboot.c | 4 +- trunk/arch/i386/kernel/timers/common.c | 6 +- trunk/arch/i386/kernel/timers/timer_tsc.c | 20 + trunk/arch/ia64/kernel/entry.S | 4 +- trunk/arch/ia64/kernel/mca.c | 4 +- trunk/arch/ia64/kernel/minstate.h | 3 +- trunk/arch/ia64/kernel/perfmon.c | 175 +++++- trunk/arch/ia64/kernel/ptrace.c | 20 +- trunk/arch/ia64/kernel/smpboot.c | 2 +- trunk/arch/ia64/kernel/sys_ia64.c | 7 - trunk/arch/ia64/sn/kernel/setup.c | 2 + trunk/arch/ppc/Kconfig | 4 +- trunk/arch/ppc/boot/images/Makefile | 3 +- trunk/arch/ppc/configs/mpc8555_cds_defconfig | 117 +++- trunk/arch/ppc/kernel/head_fsl_booke.S | 15 +- trunk/arch/ppc/kernel/traps.c | 7 +- trunk/arch/ppc/platforms/83xx/mpc834x_sys.c | 1 - trunk/arch/ppc/platforms/83xx/mpc834x_sys.h | 7 +- trunk/arch/ppc/platforms/85xx/mpc8540_ads.c | 3 + .../ppc/platforms/85xx/mpc85xx_cds_common.c | 143 ++++- .../ppc/platforms/85xx/mpc85xx_cds_common.h | 3 + trunk/arch/ppc/platforms/85xx/sbc8560.c | 3 + trunk/arch/ppc/platforms/pmac_cpufreq.c | 36 +- trunk/arch/ppc/platforms/pq2ads.h | 41 +- trunk/arch/ppc/syslib/Makefile | 4 +- trunk/arch/ppc/syslib/m8260_pci.c | 193 ------ trunk/arch/ppc/syslib/m8260_pci.h | 76 --- trunk/arch/ppc/syslib/m8260_pci_erratum9.c | 10 +- trunk/arch/ppc/syslib/m8260_setup.c | 11 +- trunk/arch/ppc/syslib/m82xx_pci.c | 383 ++++++++++++ trunk/arch/ppc/syslib/m82xx_pci.h | 92 +++ trunk/arch/ppc/syslib/open_pic.c | 4 +- trunk/arch/ppc/syslib/ppc83xx_setup.c | 28 + trunk/arch/ppc/syslib/ppc85xx_setup.c | 16 + trunk/arch/ppc64/kernel/prom_init.c | 6 + trunk/arch/ppc64/kernel/time.c | 2 - trunk/arch/um/Kconfig.debug | 4 - trunk/arch/um/drivers/random.c | 16 +- trunk/arch/um/drivers/ssl.c | 1 - trunk/arch/um/drivers/stdio_console.c | 1 - trunk/arch/um/drivers/ubd_kern.c | 7 +- trunk/arch/um/include/2_5compat.h | 24 - trunk/arch/um/include/sysrq.h | 3 +- trunk/arch/um/kernel/exec_kern.c | 1 - trunk/arch/um/kernel/initrd_kern.c | 59 -- trunk/arch/um/kernel/initrd_user.c | 46 -- trunk/arch/um/kernel/main.c | 40 +- trunk/arch/um/kernel/process_kern.c | 36 -- trunk/arch/um/kernel/ptrace.c | 19 +- trunk/arch/um/kernel/sysrq.c | 21 +- trunk/arch/um/kernel/trap_kern.c | 1 - trunk/arch/um/kernel/tt/process_kern.c | 8 +- trunk/arch/um/kernel/um_arch.c | 6 - trunk/arch/um/sys-i386/sysrq.c | 80 ++- trunk/arch/um/sys-ppc/sysrq.c | 14 +- trunk/arch/um/sys-x86_64/syscalls.c | 16 +- trunk/arch/um/sys-x86_64/sysrq.c | 11 +- trunk/arch/x86_64/Kconfig | 1 + trunk/arch/x86_64/kernel/io_apic.c | 1 + trunk/arch/x86_64/kernel/mpparse.c | 1 + trunk/arch/x86_64/kernel/signal.c | 1 + trunk/arch/x86_64/kernel/time.c | 2 + trunk/drivers/cdrom/viocd.c | 14 + trunk/drivers/cpufreq/Kconfig | 24 + trunk/drivers/cpufreq/Makefile | 1 + trunk/drivers/cpufreq/cpufreq.c | 8 +- trunk/drivers/cpufreq/cpufreq_conservative.c | 586 ++++++++++++++++++ trunk/drivers/cpufreq/cpufreq_ondemand.c | 180 +++--- trunk/drivers/cpufreq/cpufreq_stats.c | 47 +- trunk/drivers/firmware/pcdp.c | 1 + trunk/drivers/ide/ide-cd.c | 2 +- trunk/drivers/input/mousedev.c | 15 +- trunk/drivers/macintosh/via-pmu.c | 8 +- trunk/drivers/media/dvb/bt8xx/dst.c | 122 ++-- trunk/drivers/net/tg3.c | 571 ++++++++++++++++- trunk/drivers/scsi/ahci.c | 3 + trunk/drivers/scsi/aic7xxx/aic79xx_osm.c | 2 +- trunk/drivers/scsi/ata_piix.c | 2 + trunk/drivers/scsi/libata-core.c | 15 +- trunk/drivers/scsi/libata.h | 2 +- trunk/drivers/scsi/sata_nv.c | 2 + trunk/drivers/scsi/sata_promise.c | 1 + trunk/drivers/scsi/sata_qstor.c | 2 + trunk/drivers/scsi/sata_sil.c | 1 + trunk/drivers/scsi/sata_sis.c | 1 + trunk/drivers/scsi/sata_svw.c | 1 + trunk/drivers/scsi/sata_sx4.c | 2 + trunk/drivers/scsi/sata_uli.c | 1 + trunk/drivers/scsi/sata_via.c | 1 + trunk/drivers/scsi/sata_vsc.c | 2 + trunk/drivers/usb/media/pwc/pwc-ctrl.c | 2 - trunk/drivers/usb/media/pwc/pwc-uncompress.c | 2 - trunk/drivers/video/intelfb/intelfbdrv.c | 22 +- trunk/fs/hostfs/hostfs_kern.c | 1 - trunk/fs/udf/udftime.c | 2 +- trunk/include/asm-i386/timer.h | 1 + trunk/include/asm-ia64/perfmon.h | 8 + trunk/include/asm-ia64/sn/sn_sal.h | 28 +- trunk/include/asm-ppc/cpm2.h | 46 ++ trunk/include/asm-ppc/m8260_pci.h | 1 + trunk/include/asm-ppc/mpc8260.h | 2 +- trunk/include/asm-sh/thread_info.h | 2 +- trunk/include/asm-sh64/thread_info.h | 2 +- trunk/include/asm-um/page.h | 8 +- trunk/include/asm-um/pgtable.h | 8 - trunk/include/asm-um/thread_info.h | 9 +- trunk/include/linux/cpufreq.h | 2 +- trunk/include/linux/etherdevice.h | 22 +- trunk/include/linux/ethtool.h | 1 + trunk/include/linux/hardirq.h | 6 +- trunk/include/linux/inetdevice.h | 2 + trunk/include/linux/libata.h | 1 + trunk/include/linux/netdevice.h | 3 +- trunk/include/linux/notifier.h | 1 + trunk/include/linux/sysctl.h | 1 + trunk/include/net/route.h | 3 - trunk/init/Kconfig | 2 +- trunk/kernel/irq/handle.c | 2 - trunk/kernel/module.c | 6 + trunk/lib/Kconfig.debug | 3 +- trunk/net/bridge/br_device.c | 15 +- trunk/net/bridge/br_if.c | 23 + trunk/net/bridge/br_input.c | 8 +- trunk/net/bridge/br_notify.c | 9 + trunk/net/bridge/br_private.h | 1 + trunk/net/bridge/br_stp_bpdu.c | 3 + trunk/net/core/dev.c | 12 + trunk/net/core/ethtool.c | 20 +- trunk/net/core/net-sysfs.c | 3 +- trunk/net/ipv4/devinet.c | 34 +- trunk/net/ipv4/multipath_drr.c | 18 +- trunk/net/ipv4/multipath_rr.c | 20 - trunk/net/ipv6/ip6_flowlabel.c | 10 +- trunk/sound/ppc/pmac.c | 30 +- 150 files changed, 3413 insertions(+), 1037 deletions(-) create mode 100644 trunk/Documentation/cpu-freq/cpufreq-stats.txt create mode 100644 trunk/arch/i386/kernel/cpu/cpufreq/sc520_freq.c delete mode 100644 trunk/arch/ppc/syslib/m8260_pci.c delete mode 100644 trunk/arch/ppc/syslib/m8260_pci.h create mode 100644 trunk/arch/ppc/syslib/m82xx_pci.c create mode 100644 trunk/arch/ppc/syslib/m82xx_pci.h delete mode 100644 trunk/arch/um/include/2_5compat.h delete mode 100644 trunk/arch/um/kernel/initrd_kern.c delete mode 100644 trunk/arch/um/kernel/initrd_user.c create mode 100644 trunk/drivers/cpufreq/cpufreq_conservative.c diff --git a/[refs] b/[refs] index 4af37863d553..b20dc586095e 100644 --- a/[refs] +++ b/[refs] @@ -1,2 +1,2 @@ --- -refs/heads/master: a913829e90e2af7a6e98f5aadcc9fec4dcf1ef64 +refs/heads/master: 9d5432979951c8761c2b4517007039b9bcc1c110 diff --git a/trunk/Documentation/cpu-freq/cpufreq-stats.txt b/trunk/Documentation/cpu-freq/cpufreq-stats.txt new file mode 100644 index 000000000000..e2d1e760b4ba --- /dev/null +++ b/trunk/Documentation/cpu-freq/cpufreq-stats.txt @@ -0,0 +1,128 @@ + + CPU frequency and voltage scaling statictics in the Linux(TM) kernel + + + L i n u x c p u f r e q - s t a t s d r i v e r + + - information for users - + + + Venkatesh Pallipadi + +Contents +1. Introduction +2. Statistics Provided (with example) +3. Configuring cpufreq-stats + + +1. Introduction + +cpufreq-stats is a driver that provices CPU frequency statistics for each CPU. +This statistics is provided in /sysfs as a bunch of read_only interfaces. This +interface (when configured) will appear in a seperate directory under cpufreq +in /sysfs (/devices/system/cpu/cpuX/cpufreq/stats/) for each CPU. +Various statistics will form read_only files under this directory. + +This driver is designed to be independent of any particular cpufreq_driver +that may be running on your CPU. So, it will work with any cpufreq_driver. + + +2. Statistics Provided (with example) + +cpufreq stats provides following statistics (explained in detail below). +- time_in_state +- total_trans +- trans_table + +All the statistics will be from the time the stats driver has been inserted +to the time when a read of a particular statistic is done. Obviously, stats +driver will not have any information about the the frequcny transitions before +the stats driver insertion. + +-------------------------------------------------------------------------------- +:/sys/devices/system/cpu/cpu0/cpufreq/stats # ls -l +total 0 +drwxr-xr-x 2 root root 0 May 14 16:06 . +drwxr-xr-x 3 root root 0 May 14 15:58 .. +-r--r--r-- 1 root root 4096 May 14 16:06 time_in_state +-r--r--r-- 1 root root 4096 May 14 16:06 total_trans +-r--r--r-- 1 root root 4096 May 14 16:06 trans_table +-------------------------------------------------------------------------------- + +- time_in_state +This gives the amount of time spent in each of the frequencies supported by +this CPU. The cat output will have "