[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

Bug#787716: linux-image-4.0.0-2-kirkwood: [feature request] enable CONFIG_ARM_KIRKWOOD_CPUIDLE for the kirkwood platform



Package: src:linux
Version: 4.0.4-1
Severity: wishlist

Dear Maintainer,

Please consider enabling CONFIG_ARM_KIRKWOOD_CPUIDLE for the kirkwood platform. Currently, the .config contains

CONFIG_CPU_IDLE=y
CONFIG_CPU_IDLE_GOV_LADDER=y
CONFIG_CPU_IDLE_GOV_MENU=y

but without an actual driver for the cpuidle subsystem, these governors are not doing much.

I have rebuilt the 4.0.4-1 kernel to include CONFIG_ARM_KIRKWOOD_CPUIDLE and tested on QNAP TS-212P (Marvell Feroceon).

The driver works correctly and the system is stable:

root@yukikaze:~$ cat /sys/devices/system/cpu/cpuidle/current_driver
kirkwood_idle

Using powertop:

Frequency stats:
            Package |            CPU 0
1.60 GHz     0.4%   | 1.60 GHz     0.4%
 533 MHz     8.6%   |  533 MHz     8.6%
Idle        91.1%   | Idle        91.1%

Idle stats:
          Package   |            CPU 0
WFI        91.1%    | WFI        90.8%    7.0 ms
DDR SR      0.0%    | DDR SR      0.0%    0.0 ms

Previously, the 'Idle' state in Frequency stats was not available and the 'Idle stats' tab was blank.

Considering that most of devices in this platform running Debian are NASes that spend most of the time idling, this could be a worthwhile option to enable.

The size of vmlinuz with this option enabled is 2066520.

-- Package-specific info:
** Version:
Linux version 4.0.0-2-kirkwood (debian-kernel@lists.debian.org) (gcc version 4.9.2 (Debian 4.9.2-10) ) #1 Debian 4.0.4-1 (2015-05-26)

** Command line:
console=ttyS0,115200 root=/dev/ram initrd=0xa00000,0x900000 ramdisk=34816

** Tainted: O (4096)
 * Out-of-tree module has been loaded.

** Kernel log:
[    0.000000] Booting Linux on physical CPU 0x0
[    0.000000] Initializing cgroup subsys cpuset
[    0.000000] Initializing cgroup subsys cpu
[    0.000000] Initializing cgroup subsys cpuacct
[    0.000000] Linux version 4.0.0-2-kirkwood (debian-kernel@lists.debian.org) (gcc version 4.9.2 (Debian 4.9.2-10) ) #1 Debian 4.0.4-1 (2015-05-26)
[    0.000000] CPU: Feroceon 88FR131 [56251311] revision 1 (ARMv5TE), cr=0005397f
[    0.000000] CPU: VIVT data cache, VIVT instruction cache
[    0.000000] Machine model: QNAP TS219 family
[    0.000000] Memory policy: Data cache writeback
[    0.000000] On node 0 totalpages: 131072
[    0.000000] free_area_init_node: node 0, pgdat c05c16fc, node_mem_map dfbf8000
[    0.000000]   DMA zone: 1024 pages used for memmap
[    0.000000]   DMA zone: 0 pages reserved
[    0.000000]   DMA zone: 131072 pages, LIFO batch:31
[    0.000000] pcpu-alloc: s0 r0 d32768 u32768 alloc=1*32768
[    0.000000] pcpu-alloc: [0] 0
[    0.000000] Built 1 zonelists in Zone order, mobility grouping on.  Total pages: 130048
[    0.000000] Kernel command line: console=ttyS0,115200 root=/dev/ram initrd=0xa00000,0x900000 ramdisk=34816
[    0.000000] PID hash table entries: 2048 (order: 1, 8192 bytes)
[    0.000000] Dentry cache hash table entries: 65536 (order: 6, 262144 bytes)
[    0.000000] Inode-cache hash table entries: 32768 (order: 5, 131072 bytes)
[    0.000000] Memory: 504240K/524288K available (3866K kernel code, 298K rwdata, 1476K rodata, 272K init, 287K bss, 20048K reserved, 0K cma-reserved, 0K highmem)
[    0.000000] Virtual kernel memory layout:
    vector  : 0xffff0000 - 0xffff1000   (   4 kB)
    fixmap  : 0xffc00000 - 0xfff00000   (3072 kB)
    vmalloc : 0xe0800000 - 0xff000000   ( 488 MB)
    lowmem  : 0xc0000000 - 0xe0000000   ( 512 MB)
    pkmap   : 0xbfe00000 - 0xc0000000   (   2 MB)
    modules : 0xbf000000 - 0xbfe00000   (  14 MB)
      .text : 0xc0008000 - 0xc053fd80   (5344 kB)
      .init : 0xc0540000 - 0xc0584000   ( 272 kB)
      .data : 0xc0584000 - 0xc05ce8e0   ( 299 kB)
       .bss : 0xc05ce8e0 - 0xc0616898   ( 288 kB)
[    0.000000] NR_IRQS:16 nr_irqs:16 16
[    0.000012] sched_clock: 32 bits at 200MHz, resolution 5ns, wraps every 21474836475ns
[    0.000321] Console: colour dummy device 80x30
[    0.000345] Calibrating delay loop... 1587.20 BogoMIPS (lpj=3174400)
[    0.020067] pid_max: default: 32768 minimum: 301
[    0.020168] Security Framework initialized
[    0.020206] Yama: disabled by default; enable with sysctl kernel.yama.*
[    0.020295] Mount-cache hash table entries: 1024 (order: 0, 4096 bytes)
[    0.020311] Mountpoint-cache hash table entries: 1024 (order: 0, 4096 bytes)
[    0.020883] Initializing cgroup subsys blkio
[    0.020905] Initializing cgroup subsys devices
[    0.020923] Initializing cgroup subsys freezer
[    0.020939] Initializing cgroup subsys net_cls
[    0.020962] Initializing cgroup subsys perf_event
[    0.020982] Initializing cgroup subsys net_prio
[    0.021054] CPU: Testing write buffer coherency: ok
[    0.021127] ftrace: allocating 16148 entries in 32 pages
[    0.038871] Setting up static identity map for 0x3aadf0 - 0x3aae2c
[    0.039084] mvebu-soc-id: MVEBU SoC ID=0x6282, Rev=0x1
[    0.041623] devtmpfs: initialized
[    0.042801] pinctrl core: initialized pinctrl subsystem
[    0.047154] NET: Registered protocol family 16
[    0.047442] DMA: preallocated 256 KiB pool for atomic coherent allocations
[    0.048292] cpuidle: using governor ladder
[    0.048313] cpuidle: using governor menu
[    0.048571] Feroceon L2: Enabling L2
[    0.048604] Feroceon L2: Cache support initialised.
[    0.048810] [Firmware Info]: /ocp@f1000000/ethernet-controller@72000/ethernet0-port@0: local-mac-address is not set
[    0.051370] No ATAGs?
[    0.055110] Switched to clocksource orion_clocksource
[    0.068936] NET: Registered protocol family 2
[    0.069523] TCP established hash table entries: 4096 (order: 2, 16384 bytes)
[    0.069578] TCP bind hash table entries: 4096 (order: 2, 16384 bytes)
[    0.069629] TCP: Hash tables configured (established 4096 bind 4096)
[    0.069675] TCP: reno registered
[    0.069685] UDP hash table entries: 256 (order: 0, 4096 bytes)
[    0.069704] UDP-Lite hash table entries: 256 (order: 0, 4096 bytes)
[    0.069862] NET: Registered protocol family 1
[    0.069902] PCI: CLS 0 bytes, default 32
[    0.070084] Unpacking initramfs...
[    0.412158] Freeing initrd memory: 9216K (c0a00000 - c1300000)
[    0.413026] futex hash table entries: 256 (order: -1, 3072 bytes)
[    0.413095] audit: initializing netlink subsys (disabled)
[    0.413166] audit: type=2000 audit(0.408:1): initialized
[    0.413757] zpool: loaded
[    0.413947] VFS: Disk quotas dquot_6.5.2
[    0.414005] VFS: Dquot-cache hash table entries: 1024 (order 0, 4096 bytes)
[    0.414088] jffs2: version 2.2. (NAND) (SUMMARY)  © 2001-2006 Red Hat, Inc.
[    0.415953] alg: No test for stdrng (krng)
[    0.416055] Block layer SCSI generic (bsg) driver version 0.4 loaded (major 252)
[    0.416181] io scheduler noop registered
[    0.416221] io scheduler cfq registered (default)
[    0.417207] kirkwood-pinctrl f1010000.pin-controller: registered pinctrl driver
[    0.417663] irq: Cannot allocate irq_descs @ IRQ36, assuming pre-allocated
[    0.417928] irq: Cannot allocate irq_descs @ IRQ68, assuming pre-allocated
[    0.418536] mvebu-pcie mbus:pcie-controller: PCI host bridge to bus 0000:00
[    0.418550] pci_bus 0000:00: root bus resource [io  0x1000-0xfffff]
[    0.418560] pci_bus 0000:00: root bus resource [mem 0xe0000000-0xefffffff]
[    0.418569] pci_bus 0000:00: root bus resource [bus 00-ff]
[    0.418592] pci 0000:00:01.0: [11ab:6282] type 01 class 0x060400
[    0.418772] pci 0000:00:02.0: [11ab:6282] type 01 class 0x060400
[    0.418929] PCI: bus0: Fast back to back transfers disabled
[    0.418939] pci 0000:00:01.0: bridge configuration invalid ([bus 00-00]), reconfiguring
[    0.418950] pci 0000:00:02.0: bridge configuration invalid ([bus 00-00]), reconfiguring
[    0.419041] PCI: bus1: Fast back to back transfers enabled
[    0.419053] pci_bus 0000:01: busn_res: [bus 01-ff] end is updated to 01
[    0.419204] pci 0000:02:00.0: [1b6f:7023] type 00 class 0x0c0330
[    0.419248] pci 0000:02:00.0: reg 0x10: [mem 0x98000000-0x98007fff 64bit]
[    0.419404] pci 0000:02:00.0: supports D1 D2
[    0.419413] pci 0000:02:00.0: PME# supported from D0 D1 D2 D3hot
[    0.419584] PCI: bus2: Fast back to back transfers disabled
[    0.419595] pci_bus 0000:02: busn_res: [bus 02-ff] end is updated to 02
[    0.419661] pci 0000:00:02.0: BAR 8: assigned [mem 0xe0000000-0xe00fffff]
[    0.419672] pci 0000:00:01.0: PCI bridge to [bus 01]
[    0.419688] pci 0000:02:00.0: BAR 0: assigned [mem 0xe0000000-0xe0007fff 64bit]
[    0.419712] pci 0000:00:02.0: PCI bridge to [bus 02]
[    0.419722] pci 0000:00:02.0:   bridge window [mem 0xe0000000-0xe00fffff]
[    0.419826] pci 0000:00:02.0: enabling device (0140 -> 0142)
[    0.420054] mv_xor f1060800.xor: Marvell shared XOR driver
[    0.439186] mv_xor f1060800.xor: Marvell XOR: ( xor cpy )
[    0.459182] mv_xor f1060800.xor: Marvell XOR: ( xor cpy )
[    0.459288] mv_xor f1060900.xor: Marvell shared XOR driver
[    0.479181] mv_xor f1060900.xor: Marvell XOR: ( xor cpy )
[    0.499182] mv_xor f1060900.xor: Marvell XOR: ( xor cpy )
[    0.499455] Serial: 8250/16550 driver, 2 ports, IRQ sharing disabled
[    0.500285] console [ttyS0] disabled
[    0.500327] f1012000.serial: ttyS0 at MMIO 0xf1012000 (irq = 28, base_baud = 12500000) is a 16550A
[    1.099201] console [ttyS0] enabled
[    1.103096] f1012100.serial: ttyS1 at MMIO 0xf1012100 (irq = 29, base_baud = 12500000) is a 16550A
[    1.116911] m25p80 spi0.0: found n25q128a13, expected m25p128
[    1.122724] m25p80 spi0.0: n25q128a13 (16384 Kbytes)
[    1.127751] 6 ofpart partitions found on MTD device spi0.0
[    1.133266] Creating 6 MTD partitions on "spi0.0":
[    1.138090] 0x000000000000-0x000000080000 : "U-Boot"
[    1.143849] 0x000000200000-0x000000400000 : "Kernel"
[    1.149532] 0x000000400000-0x000000d00000 : "RootFS1"
[    1.155312] 0x000000d00000-0x000001000000 : "RootFS2"
[    1.161061] 0x000000080000-0x0000000c0000 : "U-Boot Config"
[    1.167380] 0x0000000c0000-0x000000200000 : "NAS Config"
[    1.173730] mousedev: PS/2 mouse device common for all mice
[    2.183194] rtc-mv f1010300.rtc: internal RTC not ticking
[    2.188745] i2c /dev entries driver
[    2.194269] rtc (null): invalid alarm value: 1900-1-4 1193032:44:16
[    2.200728] rtc-s35390a 0-0030: rtc core: registered rtc-s35390a as rtc0
[    2.208051] ledtrig-cpu: registered to indicate activity on CPUs
[    2.214361] TCP: cubic registered
[    2.217713] NET: Registered protocol family 17
[    2.222706] registered taskstats version 1
[    2.227847] rtc-s35390a 0-0030: setting system clock to 2015-06-02 21:03:09 UTC (1433278989)
[    2.238082] Freeing unused kernel memory: 272K (c0540000 - c0584000)
[    2.297034] systemd-udevd[53]: starting version 215
[    2.312629] random: systemd-udevd urandom read with 5 bits of entropy available
[    2.453580] SCSI subsystem initialized
[    2.504073] libata version 3.00 loaded.
[    2.505791] sata_mv f1080000.sata: version 1.28
[    2.506015] sata_mv f1080000.sata: slots 32 ports 2
[    2.543072] scsi host0: sata_mv
[    2.561067] scsi host1: sata_mv
[    2.566207] ata1: SATA max UDMA/133 irq 35
[    2.570350] ata2: SATA max UDMA/133 irq 35
[    2.891137] ata1: SATA link down (SStatus 0 SControl F300)
[    3.371137] ata2: SATA link up 3.0 Gbps (SStatus 123 SControl F300)
[    3.391167] ata2.00: ATA-8: MD05000-BQDW-RO, 01.03B01, max UDMA/133
[    3.397470] ata2.00: 976773168 sectors, multi 0: LBA48 NCQ (depth 31/32)
[    3.419175] ata2.00: configured for UDMA/133
[    3.423766] scsi 1:0:0:0: Direct-Access     ATA      MD05000-BQDW-RO  3B01 PQ: 0 ANSI: 5
[    3.444257] sd 1:0:0:0: [sda] 976773168 512-byte logical blocks: (500 GB/465 GiB)
[    3.452016] sd 1:0:0:0: [sda] Write Protect is off
[    3.456851] sd 1:0:0:0: [sda] Mode Sense: 00 3a 00 00
[    3.456937] sd 1:0:0:0: [sda] Write cache: enabled, read cache: enabled, doesn't support DPO or FUA
[    3.501484]  sda: sda1 sda2 sda3 < sda5 >
[    3.507599] sd 1:0:0:0: [sda] Attached SCSI disk
[    5.125169] EXT4-fs (sda2): mounted filesystem with ordered data mode. Opts: (null)
[    5.694102] random: nonblocking pool is initialized
[    5.702768] systemd[1]: systemd 215 running in system mode. (+PAM +AUDIT +SELINUX +IMA +SYSVINIT +LIBCRYPTSETUP +GCRYPT +ACL +XZ -SECCOMP -APPARMOR)
[    5.716395] systemd[1]: Detected architecture 'arm'.


** Model information
Hardware        : Marvell Kirkwood (Flattened Device Tree)
Revision        : 0000

** Loaded modules:
bluetooth
rfkill
cpufreq_powersave
cpufreq_conservative
cpufreq_ondemand
cpufreq_stats
cpufreq_userspace
ctr
twofish_generic
twofish_common
camellia_generic
serpent_generic
blowfish_generic
blowfish_common
cast5_generic
cast_common
des_generic
cbc
cmac
xcbc
rmd160
sha512_generic
sha256_generic
crypto_null
af_key
xfrm_algo
marvell
ehci_orion
sg
mvmdio
mv643xx_eth
ehci_hcd
hmac
xhci_pci
of_mdio
libphy
xhci_hcd
sha1_generic
sha1_arm
usbcore
orion_wdt
usb_common
kirkwood_thermal
mv_cesa
evdev
cryptodev(O)
loop
gpio_keys
ipv6
autofs4
ext4
mbcache
jbd2
sd_mod
sata_mv
libata
scsi_mod

** PCI devices:
00:01.0 PCI bridge [0604]: Marvell Technology Group Ltd. Device [11ab:6282] (rev 01) (prog-if 00 [Normal decode])
        Control: I/O- Mem- BusMaster- SpecCycle- MemWINV- VGASnoop- ParErr+ Stepping- SERR+ FastB2B- DisINTx-
        Status: Cap- 66MHz- UDF- FastB2B- ParErr- DEVSEL=fast >TAbort- <TAbort- <MAbort- >SERR- <PERR- INTx-
        Bus: primary=00, secondary=01, subordinate=01, sec-latency=0
        Prefetchable memory behind bridge: 00000000-000fffff
        Secondary status: 66MHz- FastB2B- ParErr- DEVSEL=fast >TAbort- <TAbort- <MAbort- <SERR- <PERR-
        BridgeCtl: Parity- SERR- NoISA- VGA- MAbort- >Reset- FastB2B-
                PriDiscTmr- SecDiscTmr- DiscTmrStat- DiscTmrSERREn-

00:02.0 PCI bridge [0604]: Marvell Technology Group Ltd. Device [11ab:6282] (rev 01) (prog-if 00 [Normal decode])
        Control: I/O- Mem+ BusMaster+ SpecCycle- MemWINV- VGASnoop- ParErr+ Stepping- SERR+ FastB2B- DisINTx-
        Status: Cap- 66MHz- UDF- FastB2B- ParErr- DEVSEL=fast >TAbort- <TAbort- <MAbort- >SERR- <PERR- INTx-
        Latency: 0, Cache Line Size: 64 bytes
        Bus: primary=00, secondary=02, subordinate=02, sec-latency=0
        Memory behind bridge: e0000000-e00fffff
        Prefetchable memory behind bridge: 00000000-000fffff
        Secondary status: 66MHz- FastB2B- ParErr- DEVSEL=fast >TAbort- <TAbort- <MAbort- <SERR- <PERR-
        BridgeCtl: Parity- SERR- NoISA- VGA- MAbort- >Reset- FastB2B-
                PriDiscTmr- SecDiscTmr- DiscTmrStat- DiscTmrSERREn-

02:00.0 USB controller [0c03]: Etron Technology, Inc. EJ168 USB 3.0 Host Controller [1b6f:7023] (rev 01) (prog-if 30 [XHCI])
        Subsystem: Etron Technology, Inc. EJ168 USB 3.0 Host Controller [1b6f:7023]
        Control: I/O- Mem+ BusMaster- SpecCycle- MemWINV- VGASnoop- ParErr+ Stepping- SERR+ FastB2B- DisINTx-
        Status: Cap+ 66MHz- UDF- FastB2B- ParErr- DEVSEL=fast >TAbort- <TAbort- <MAbort- >SERR- <PERR- INTx-
        Interrupt: pin A routed to IRQ 86
        Region 0: Memory at e0000000 (64-bit, non-prefetchable) [size=32K]
        Capabilities: <access denied>


** USB devices:
Bus 002 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub


-- System Information:
Debian Release: 8.0
  APT prefers stable
  APT policy: (990, 'stable'), (500, 'stable-updates'), (500, 'unstable')
Architecture: armel (armv5tel)

Kernel: Linux 4.0.0-2-kirkwood
Locale: LANG=en_US.UTF-8, LC_CTYPE=en_US.UTF-8 (charmap=UTF-8)
Shell: /bin/sh linked to /bin/dash
Init: systemd (via /run/systemd/system)

Versions of packages linux-image-4.0.0-2-kirkwood depends on:
ii  debconf [debconf-2.0]                   1.5.56
ii  initramfs-tools [linux-initramfs-tool]  0.120
ii  kmod                                    20-1
ii  linux-base                              3.5

Versions of packages linux-image-4.0.0-2-kirkwood recommends:
ii  firmware-linux-free  3.3
ii  uboot-mkimage        2012.04.01-2



-- debconf information excluded


Reply to: