Re: [intel-pstate driver regression] processor frequency very high even if in idle

From: Sedat Dilek
Date: Thu Mar 31 2016 - 04:11:07 EST


On Thu, Mar 31, 2016 at 12:50 AM, Doug Smythies <dsmythies@xxxxxxxxx> wrote:
> On 2106.03.30 15:19 Srinivas Pandruvada wrote:
>>>
>>> Please see attached files.
>>>
>> Thanks. Your logs make sense. You have config set to performance mode
>> by default (Which I believe default in all kernel Ubuntu).
>
> Yes, but via a startup script, by default Ubuntu sets the governor
> to powersave 1 minute after boot (or ondemand if acpi-cpufreq).
>

Can you give more and precise informations on this?
script-name etc.

>> So as
>> expected Intel P state was asking for max. So there is no issue here.
>
> Yes, your point is valid, as this does not appear to be a Ubuntu kernel
> configuration file, as the size is not correct.
>
> Should be:
> -rw-r--r-- 1 doug doug 194436 Mar 26 18:59 ../temp-k-git/linux/.config-4.6.0-040600rc1-generic
> Is:
> -rw-r--r-- 1 doug doug 134944 Mar 30 15:21 config-4.6.0-rc1-11-iniza-small
>

Yes, this is the config of my customized Linux-kernel based on Ubuntu
"generic" flavour (details see attached file).

- Sedat -
***** WHATS-IN-DILEKS-LINUX-KERNEL.txt *****

##### LOCALMODCONFIG-ED "SMALL" LINUX-KERNEL OPTIONS FROM DILEKS

INFO: BASE KERNEL-CONFIG: From Ubuntu-kernel v3.x


##### HARDWARE

### HARDWARE MMC/SD/SDIO

CONFIG_MMC=y <--- common
CONFIG_MMC_BLOCK=m <--- card drivers
CONFIG_MMC_SDHCI=m <--- host controller drivers


### HARDWARE USB

CONFIG_BT_HCIBTUSB=m <--- bluetooth support
CONFIG_USB_HID=m <--- mouse and keyboard support
CONFIG_USB_PRINTER=m <--- printer support
CONFIG_USB_STORAGE=m <--- mass-storage support
CONFIG_USB_VIDEO_CLASS=m <--- video-camera support

### HARDWARE USB/NET/WWAN: HUAWEI E173 3G/UMTS/HSPA INTERNET STICK (requires ppp options)

CONFIG_USB_USBNET=m <--- usb networking
CONFIG_USB_NET_CDCETHER=m <--- usb-wwan (net) configuration
CONFIG_USB_SERIAL_WWAN=m <--- usb-wwan (serial) configuration
CONFIG_USB_SERIAL_OPTION=m <--- usb-serial driver called "option"


##### NETWORKING

### NETWORKING (bufferbloat with codel)

CONFIG_NET_SCH_HTB=m
CONFIG_NET_SCH_CODEL=m
CONFIG_NET_SCH_FQ_CODEL=m

### NETWORKING (ppp options)

CONFIG_PPP=y
CONFIG_PPP_BSDCOMP=m
CONFIG_PPP_DEFLATE=m
CONFIG_PPP_FILTER=y
CONFIG_PPP_MPPE=m
CONFIG_PPP_MULTILINK=y
CONFIG_PPP_ASYNC=m
CONFIG_PPP_SYNC_TTY=m


##### FILESYSTEMS

### FILESYSTEMS (builtin: ext4 | fat | vfat)

CONFIG_EXT4_FS=y
CONFIG_EXT4_ENCRYPTION=y <--- Linux >= v4.2

CONFIG_FAT_FS=y

CONFIG_VFAT_FS=y

### FILESYSTEMS (as-modules: btrfs (EXPERIMENTAL) | ntfs | overlayfs | squashfs | xfs)

CONFIG_BTRFS_FS=m
CONFIG_BTRFS_FS_POSIX_ACL=y

CONFIG_NTFS_FS=m

CONFIG_OVERLAYFS_FS=m

CONFIG_SQUASHFS=m

CONFIG_XFS_FS=m
CONFIG_XFS_QUOTA=y
CONFIG_XFS_POSIX_ACL=y
CONFIG_XFS_RT=y

### FILESYSTEMS (charset encoding)

CONFIG_FAT_DEFAULT_CODEPAGE=437 <--- codepage layout (MS-DOS)
CONFIG_FAT_DEFAULT_IOCHARSET="iso8859-1" <--- character set "latin-1"

CONFIG_NLS_ISO8859_1=m <--- UTF-8 (NTFS)

### FILESYSTEMS (CD-ROM/DVD)

CONFIG_ISO9660_FS=m
CONFIG_JOLIET=y
CONFIG_UDF_FS=m
CONFIG_UDF_NLS=y


##### INIT (cpu/task time and stats accounting)

CONFIG_TICK_CPU_ACCOUNTING=y <--- Simple tick based cputime accounting (DEFAULT: Debian kernels)

CONFIG_VIRT_CPU_ACCOUNTING_GEN=y <--- Full dynticks cputime accounting (DEFAULT: Ubuntu and dileks kernels)
CONFIG_VIRT_CPU_ACCOUNTING=y
CONFIG_CONTEXT_TRACKING=y <--- PREREQ for full dynticks cputime accounting
CONFIG_CONTEXT_TRACKING_FORCE=n <--- CAUTION: See Ubuntu-kernel BUG LP #1349028 ("not for production systems")


##### KVM

CONFIG_KVM=m
CONFIG_KVM_INTEL=m
CONFIG_KVM_AMD=m
CONFIG_KVM_DEBUG_FS=y


##### DEBUG-OPTIONS

CONFIG_DEBUG_BUGVERBOSE=y <--- common

CONFIG_SLUB=y <--- SLUB (DEFAULT: Ubuntu kernels)
CONFIG_SLUB_DEBUG=y <--- SLUG debug

CONFIG_SLAB=y <--- SLAB (DEFAULT: Debian and dileks kernels)
CONFIG_DEBUG_SLAB=y <--- SLAB debug

CONFIG_DEBUG_OBJECTS_RCU_HEAD=y <--- RCU
CONFIG_DEBUG_OBJECTS=y <--- PREREQ for RCU

CONFIG_DEBUG_SPINLOCK=y <--- spinlock

CONFIG_DEBUG_MUTEXES=y <--- mutexes

CONFIG_DEBUG_LOCKDEP=y <--- lockdep
CONFIG_PROVE_LOCKING=y <--- Useful in combination with lockdep debugging
CONFIG_DEBUG_LOCKING_API_SELFTESTS=y <--- Useful in combination with locking/lockdep debugging

CONFIG_PM_DEBUG=y <--- power-mamagement

CONFIG_EXT4_DEBUG=y <--- Ext4-FS
CONFIG_JBD2_DEBUG=y <--- JBD2 (journaling) depends on Ext4-FS

CONFIG_USB_DEBUG=y <--- USB
CONFIG_USB_MON=m <--- usbmon (see Documentation/usb/usbmon.txt)

CONFIG_TRACING=y <--- TraceFS filesystem (Linux >= v4.1)

CONFIG_TRACE_IRQFLAGS=y <--- Enables hooks to interrupt enabling and disabling for either tracing or lock debugging
CONFIG_IRQSOFF_TRACER=y <--- Interrupts-off Latency Tracer (depends on CONFIG_TRACE_IRQFLAGS_SUPPORT)

CONFIG_PCIEASPM_DEBUG=y <--- PCI Express ASPM debug


##### LLVMLINUX (CLANG)

CONFIG_PARAVIRT=n <--- XXX: DANGEROUS (-> Steven Rostedt)
CONFIG_FTRACE=n <--- Bogus X86 asm code (see PaX email)


##### TOOLS

CONFIG_X86_MSR=m <--- PREREQ for turbostat (see tools/power/x86/turbostat)


-dileks // 30-MAR-2016: Add a new section tools with CONFIG_X86_MSR=m (turbostat), added CONFIG_DEBUG_LOCKING_API_SELFTESTS=y
-dileks // 07-MAR-2016: Add CONFIG_FTRACE=n creates bogus X86 asm code when using llvmlinux/clang
-dileks // 29-FEB-2016: Add CONFIG_PCIEASPM_DEBUG=y, collect all tracing options at one single place
-dileks // 26-DEC-2015: Fix some typos
-dileks // 12-OCT-2015: Add CONFIG_PROVE_LOCKING=y (useful in combination with lockdep debugging)
-dileks // 04-OCT-2015: Add a new llvmlinux section
-dileks // 27-SEP-2015: Add TraceFS filesystem and options to trace IRQ-flags, add important notes about context-tracking
-dileks // 06-SEP-2015: Add KVM options (QEMU), add CONFIG_PPP_MPPE=m and CONFIG_PPP_SYNC_TTY=m to ppp options
-dileks // 11-JUN-2015: Add Ext4-Encryption, refresh FILESYSTEMS and DEBUG-OPTIONS sections and cleanups
-dileks // 16-NOV-2014: Add options to run a Huawei E173 USB 3G Internet stick with ppp options
-dileks // 17-SEP-2013: Rename document, mention base kernel-config and some minor cleanup
-dileks // 24-APR-2013: Add USB debugging and usbmon (kernel-module)
-dileks // 20-APR-2013: More options and reorder items
-dileks // 26-JAN-2013: Initial version