Bug 186153

Summary: x86info utility looks for wrong devnode
Product: Red Hat Enterprise Linux 4 Reporter: Steve Snyder <swsnyder>
Component: udevAssignee: Harald Hoyer <harald>
Status: CLOSED ERRATA QA Contact:
Severity: medium Docs Contact:
Priority: medium    
Version: 4.0CC: davej
Target Milestone: ---   
Target Release: ---   
Hardware: i686   
OS: Linux   
Whiteboard:
Fixed In Version: RHBA-2006-0382 Doc Type: Bug Fix
Doc Text:
Story Points: ---
Clone Of: Environment:
Last Closed: 2006-08-10 21:17:45 UTC Type: ---
Regression: --- Mount Type: ---
Documentation: --- CRM:
Verified Versions: Category: ---
oVirt Team: --- RHEL 7.3 requirements from Atomic Host:
Cloudforms Team: --- Target Upstream Version:
Embargoed:
Bug Depends On:    
Bug Blocks: 181409    

Description Steve Snyder 2006-03-21 21:51:23 UTC
Description of problem:

The x86info utility looks for /dev/cpu/<n>/cpuid but the kernel actually
provides /dev/cpu/<n>/cpu.  This causes the util to issue

  WARNING: Detected SMP, but unable to access cpuid driver.
  Used Uniprocessor CPU routines. Results inaccurate.

despite the kernel driver being loaded

Version-Release number of selected component (if applicable):

kernel-2.6.9-34.EL, kernel-utils-2.4-13.1.69, udev-039-10.10.EL4.3

How reproducible:

always

Steps to Reproduce:
1. ensure that the cpuid and msr driver are loaded
2. Run x86info on a SMP system, note complaint about missing cpuid driver
3. For each processor, symlink /dev/cpu/<n>/cpuid to /dev/cpu/<n>/cpu
4. Run x86info again, note no complaint with symlinks in place
  
Actual results:

x86info cannot find the information it wants due to looking for the wrong devnode.

Expected results:

x86info should know what devnodes are provided by the cpuid and msr kernel drivers.

Additional info:

Comment 1 Steve Snyder 2006-03-21 21:55:15 UTC
Forgot to mention that this is on a system with all U2 updates applied.

I seached for x86info bugs prior to creating this report, just in case it is
fixed in U3, but found no bugs that referenced this situation.


Comment 2 Dave Jones 2006-03-27 22:18:52 UTC
the node should be 'cpuid'. If it's being created as anything else, it's a udev bug.

I thought this was fixed early on (Circa -U1) in RHEL4. Harald ?


Comment 3 Steve Snyder 2006-03-27 22:46:18 UTC
Just checked again, now on a fully updated RHEL4-U3 system.  Same behavor

Updated package versions:

# rpm -q kernel-smp kernel-utils udev
kernel-smp-2.6.9-34.EL
kernel-utils-2.4-13.1.80
udev-039-10.12.EL4

Behavior:

# x86info
x86info v1.13.  Dave Jones 2001-2003
Feedback to <davej>.

Found 2 CPUs
--------------------------------------------------------------------------
CPU #1
/dev/cpu/0/cpuid: No such file or directory
Family: 6 Model: 11 Stepping: 4 Type: 0 Brand: 4
CPU Model: Pentium III [B-1] Original OEM
Feature flags:
 fpu vme de pse tsc msr pae mce cx8 apic sep mtrr pge mca cmov pat pse36 mmx
fxsr sse
Extended feature flags:

L1 Instruction cache:
        Size: 16KB      4-way associative.
        line size=32 bytes.
L1 Data cache:
        Size: 16KB      4-way associative.
        line size=32 bytes.
L2 unified cache:
        Size: 512KB     8-way associative.
        line size=32 bytes.
Instruction TLB: 4KB pages, 4-way associative, 32 entries
Instruction TLB: 4MB pages, fully associative, 2 entries
Data TLB: 4KB pages, 4-way associative, 64 entries
Data TLB: 4MB pages, 4-way associative, 8 entries
--------------------------------------------------------------------------
CPU #2
Family: 6 Model: 11 Stepping: 4 Type: 0 Brand: 4
CPU Model: Pentium III [B-1] Original OEM
Feature flags:
 fpu vme de pse tsc msr pae mce cx8 apic sep mtrr pge mca cmov pat pse36 mmx
fxsr sse
Extended feature flags:

L1 Instruction cache:
        Size: 16KB      4-way associative.
        line size=32 bytes.
L1 Data cache:
        Size: 16KB      4-way associative.
        line size=32 bytes.
L2 unified cache:
        Size: 512KB     8-way associative.
        line size=32 bytes.
Instruction TLB: 4KB pages, 4-way associative, 32 entries
Instruction TLB: 4MB pages, fully associative, 2 entries
Data TLB: 4KB pages, 4-way associative, 64 entries
Data TLB: 4MB pages, 4-way associative, 8 entries
--------------------------------------------------------------------------
WARNING: Detected SMP, but unable to access cpuid driver.
Used Uniprocessor CPU routines. Results inaccurate.
# ll /dev/cpu
ls: /dev/cpu: No such file or directory
# modprobe cpuid
# ll /dev/cpu/*/
/dev/cpu/0/:
total 0
crw-------  1 root root 203, 0 Mar 27 17:45 cpu

/dev/cpu/1/:
total 0
crw-------  1 root root 203, 1 Mar 27 17:45 cpu


Comment 6 Harald Hoyer 2006-04-18 11:41:15 UTC
please test:
ftp://people.redhat.com/harald/udev/039-10.14.EL4/

Comment 7 Steve Snyder 2006-04-18 13:22:11 UTC
After updating to the udev package do I need to reboot to see its effects?

If so, then I won't be able to test the new code until the weekend.  The problem
is seen on a production machine that can't be shut down during the weekdays.


Comment 8 Harald Hoyer 2006-04-18 13:40:04 UTC
# rmmod cpuid
# modprobe cpuid

Comment 9 Steve Snyder 2006-04-18 15:06:21 UTC
This updated package seems to have fixed the problem:

[root@nemesis steve]# rpm -Uvh udev-039-10.14.EL4.i386.rpm
Preparing...                ########################################### [100%]
   1:udev                   ########################################### [100%]
[root@nemesis steve]# rmmod cpuid
[root@nemesis steve]# modprobe cpuid
[root@nemesis steve]# x86info
x86info v1.13.  Dave Jones 2001-2003
Feedback to <davej>.

Found 2 CPUs
--------------------------------------------------------------------------
CPU #1
Family: 6 Model: 11 Stepping: 4 Type: 0 Brand: 4
CPU Model: Pentium III [B-1] Original OEM
Feature flags:
 fpu vme de pse tsc msr pae mce cx8 apic sep mtrr pge mca cmov pat pse36 mmx
fxsr sse
Extended feature flags:

L1 Instruction cache:
        Size: 16KB      4-way associative.
        line size=32 bytes.
L1 Data cache:
        Size: 16KB      4-way associative.
        line size=32 bytes.
L2 unified cache:
        Size: 512KB     8-way associative.
        line size=32 bytes.
Instruction TLB: 4KB pages, 4-way associative, 32 entries
Instruction TLB: 4MB pages, fully associative, 2 entries
Data TLB: 4KB pages, 4-way associative, 64 entries
Data TLB: 4MB pages, 4-way associative, 8 entries
--------------------------------------------------------------------------
CPU #2
Family: 6 Model: 11 Stepping: 4 Type: 0 Brand: 4
CPU Model: Pentium III [B-1] Original OEM
Feature flags:
 fpu vme de pse tsc msr pae mce cx8 apic sep mtrr pge mca cmov pat pse36 mmx
fxsr sse
Extended feature flags:

L1 Instruction cache:
        Size: 16KB      4-way associative.
        line size=32 bytes.
L1 Data cache:
        Size: 16KB      4-way associative.
        line size=32 bytes.
L2 unified cache:
        Size: 512KB     8-way associative.
        line size=32 bytes.
Instruction TLB: 4KB pages, 4-way associative, 32 entries
Instruction TLB: 4MB pages, fully associative, 2 entries
Data TLB: 4KB pages, 4-way associative, 64 entries
Data TLB: 4MB pages, 4-way associative, 8 entries
--------------------------------------------------------------------------
[root@nemesis steve]# ll /dev/cpu/*/
/dev/cpu/0/:
total 0
crw-------  1 root root 203, 0 Apr 18 11:06 cpuid

/dev/cpu/1/:
total 0
crw-------  1 root root 203, 1 Apr 18 11:06 cpuid
[root@nemesis steve]#

Comment 13 Red Hat Bugzilla 2006-08-10 21:17:50 UTC
An advisory has been issued which should help the problem
described in this bug report. This report is therefore being
closed with a resolution of ERRATA. For more information
on the solution and/or where to find the updated files,
please follow the link below. You may reopen this bug report
if the solution does not work for you.

http://rhn.redhat.com/errata/RHBA-2006-0382.html