Skip to contentSkip to conversation

powertop "pread cpu0 0xe8 : Bad file descriptor" fixed by CONFIG_MSR

DISCUSSION Andy Isaacson 2 participants 2 messages Aug 6, 2011 – Aug 8, 2011

lore
Share & tools
lore
#0 lore raw

I hadn't seen this issue discussed on the list, and I don't know of a powertop mailing list, so here's what stymied my use of powertop until I straced it.

With CONFIG_MSR=n, powertop "1.97-2" (from Debian unstable) on 3.0.1 (and presumably many other recent kernels) exits at startup with:

pread cpu0 0xe8 : Bad file descriptor

strace shows:

open("/dev/cpu/0/msr", O_RDONLY) = -1 ENOENT (No such file or directory) pread(4294967295, 0x7fff4c8347c8, 8, 232) = -1 EBADF (Bad file descriptor)

Setting CONFIG_MSR=m and loading msr.ko fixes the issue, allowing powertop to work again (tested against 3.0.1). I'm pretty sure this is a regression from long ago -- I have had CONFIG_X86_MSR=n in almost all configs since 2.6.34-07097-gf4b87de, and powertop worked in most of those kernels. But I don't have references for what versions of powertop and what kernels I was running at various points.

-andy

#1 lore raw
Quoted 7 lines · Andy Isaacson

I hadn't seen this issue discussed on the list, and I don't know of a powertop mailing list, so here's what stymied my use of powertop until I straced it.

With CONFIG_MSR=n, powertop "1.97-2" (from Debian unstable) on 3.0.1 (and presumably many other recent kernels) exits at startup with:

Quoted 7 lines

pread cpu0 0xe8 : Bad file descriptor

strace shows:

open("/dev/cpu/0/msr", O_RDONLY) = -1 ENOENT (No such file or directory) pread(4294967295, 0x7fff4c8347c8, 8, 232) = -1 EBADF (Bad file descriptor)

Seems powertop forgot to check the return value of that open(). This is a bug of powertop, not kernel.