Skip to contentSkip to conversation

Missing MODALIAS in /sys/devices/system/cpu/uevent

DISCUSSION Pali Rohár 2 participants 7 messages Nov 27, 2014 ACPI

lore
Share & tools
lore
#0 lore raw

Hello,

on 3.18-rc5 I have empty cpu uevent file, but modalias file is populated. See:

$ cat /sys/devices/system/cpu/uevent 
$ cat /sys/devices/system/cpu/modalias 
cpu:type:x86,ven0000fam0006mod003C:feature:,0000,0001,0002,0003,0004,0005,0006,0007,0008,0009,000B,000C,000D,000E,000F,0010,0011,0013,0015,0016,0017,0018,0019,001A,001B,001C,001D,001F,002B,0034,003A,003B,003D,0068,006B,006C,006D,006F,0070,0072,0074,0075,0076,0078,007C,007D,0080,0081,0082,0083,0084,0085,0086,0087,0088,0089,008B,008C,008D,008E,008F,0091,0093,0094,0095,0096,0097,0098,0099,009A,009B,009C,009D,009E,00C0,00C5,00E0,00E1,00E3,00E5,00E6,00E7,0100,0101,0102,0103,0104,0120,0121,0123,0124,0125,0127,0128,0129,012A,012B,012D,0140

For all other devices in /sys/devices/ which have modalias content there is also MODALIAS= line in uevent file.

Is cpu device special? Or why it is only one device which has modalias file but is missing MODALIAS= line in uevent file?

What userspace application should use for reading modalias string? File modalias or file uevent?

Signature · 2 lines
Pali Rohár
[email protected]
#1 lore raw
Quoted 22 lines · Pali Rohár

--nextPart2712852.Yg3XtZvm05
Content-Type: Text/Plain;
charset="utf-8"
Content-Transfer-Encoding: quoted-printable

Hello,

on 3.18-rc5 I have empty cpu uevent file, but modalias file is=20 populated. See:

$ cat /sys/devices/system/cpu/uevent=20
$ cat /sys/devices/system/cpu/modalias=20
cpu:type:x86,ven0000fam0006mod003C:feature:,0000,0001,0002,0003,0004,0005,0=
006,0007,0008,0009,000B,000C,000D,000E,000F,0010,0011,0013,0015,0016,0017,0=
018,0019,001A,001B,001C,001D,001F,002B,0034,003A,003B,003D,0068,006B,006C,0=
06D,006F,0070,0072,0074,0075,0076,0078,007C,007D,0080,0081,0082,0083,0084,0=
085,0086,0087,0088,0089,008B,008C,008D,008E,008F,0091,0093,0094,0095,0096,0=
097,0098,0099,009A,009B,009C,009D,009E,00C0,00C5,00E0,00E1,00E3,00E5,00E6,0=
0E7,0100,0101,0102,0103,0104,0120,0121,0123,0124,0125,0127,0128,0129,012A,0=
12B,012D,0140
Quoted 2 lines

=46or all other devices in /sys/devices/ which have modalias=20 content there is also MODALIAS=3D line in uevent file.

/sys/devices/system/cpu/ is not a device. It is a "collection of all CPUs".

Quoted 2 lines

Is cpu device special? Or why it is only one device which has=20 modalias file but is missing MODALIAS=3D line in uevent file?

Look into the uevent files under /sys/devices/system/cpu/cpu0/ etc.

Quoted 2 lines

What userspace application should use for reading modalias=20 string? File modalias or file uevent?

The cpu modalias is used to trigger loading of some CPU-specific modules upfront IIRC. So yes, it is special.

My advice would be to follow udev here.

Signature · 2 lines
I speak only for myself.
Rafael J. Wysocki, Intel Open Source Technology Center.
#2 lore raw
Quoted 30 lines · On Thursday 27 November 2014 21:39:42 Rafael J. Wysocki wrote:
Quoted 29 lines · Pali Rohár

--nextPart2712852.Yg3XtZvm05
Content-Type: Text/Plain;

charset="utf-8"

Content-Transfer-Encoding: quoted-printable

Hello,

on 3.18-rc5 I have empty cpu uevent file, but modalias file is=20 populated. See:

$ cat /sys/devices/system/cpu/uevent=20
$ cat /sys/devices/system/cpu/modalias=20
cpu:type:x86,ven0000fam0006mod003C:feature:,0000,0001,0002,0
003,0004,0005,0=
006,0007,0008,0009,000B,000C,000D,000E,000F,0010,0011,0013,
0015,0016,0017,0=
018,0019,001A,001B,001C,001D,001F,002B,0034,003A,003B,003D,
0068,006B,006C,0=
06D,006F,0070,0072,0074,0075,0076,0078,007C,007D,0080,0081,
0082,0083,0084,0=
085,0086,0087,0088,0089,008B,008C,008D,008E,008F,0091,0093,
0094,0095,0096,0=
097,0098,0099,009A,009B,009C,009D,009E,00C0,00C5,00E0,00E1,
00E3,00E5,00E6,0=
0E7,0100,0101,0102,0103,0104,0120,0121,0123,0124,0125,0127,
0128,0129,012A,0= 12B,012D,0140
Quoted 7 lines
Quoted 3 lines

=46or all other devices in /sys/devices/ which have modalias=20 content there is also MODALIAS=3D line in uevent file.

/sys/devices/system/cpu/ is not a device. It is a "collection of all CPUs".

Ok. But why that inconsistency (missing MODALIAS line)?

Quoted 7 lines
Quoted 3 lines

Is cpu device special? Or why it is only one device which has=20 modalias file but is missing MODALIAS=3D line in uevent file?

Look into the uevent files under /sys/devices/system/cpu/cpu0/ etc.

$ cat /sys/devices/system/cpu/cpu0/modalias
cat: /sys/devices/system/cpu/cpu0/modalias: No such file or 
directory
$ cat /sys/devices/system/cpu/cpu0/uevent 
DRIVER=processor
MODALIAS=cpu:type:x86,ven0000fam0006mod003C:feature:,0000,0001,0002,0003,0004,0005,0006,0007,0008,0009,000B,000C,000D,000E,000F,0010,0011,0013,0015,0016,0017,0018,0019,001A,001B,001C,001D,001F,002B,0034,003A,003B,003D,0068,006B,006C,006D,006F,0070,0072,0074,0075,0076,0078,007C,007D,0080,0081,0082,0083,0084,0085,0086,0087,0088,0089,008B,008C,008D,008E,008F,0091,0093,0094,0095,0096,0097,0098,0099,009A,009B,009C,009D,009E,00C0,00C5,00E0,00E1,00E3,00E5,00E6,00E7,0100,0101,0102,0103,0104,0120,0121,0123,0124,0125,0127,0128,0129,012A,012B,012D,0140

So there is no modalias file, but uevent contains MODALIAS line.

Quoted 7 lines
Quoted 2 lines

What userspace application should use for reading
modalias=20 string? File modalias or file uevent?

The cpu modalias is used to trigger loading of some CPU-specific modules upfront IIRC. So yes, it is special.

My advice would be to follow udev here.

Yes, I know. For some reasons coretemp.ko is not automatically loaded. I do not know why and I started investigating it. And I found above inconsistency in modalias and uevent...

$ modinfo coretemp
...
alias:          cpu:type:x86,ven0000fam*mod*:feature:*00E7*
Signature · 2 lines
Pali Rohár
[email protected]
#3 lore raw
Quoted 66 lines · Pali Rohár
Quoted 30 lines · On Thursday 27 November 2014 21:39:42 Rafael J. Wysocki wrote:
Quoted 29 lines · Pali Rohár

--nextPart2712852.Yg3XtZvm05
Content-Type: Text/Plain;

charset="utf-8"

Content-Transfer-Encoding: quoted-printable

Hello,

on 3.18-rc5 I have empty cpu uevent file, but modalias file is=20 populated. See:

$ cat /sys/devices/system/cpu/uevent=20
$ cat /sys/devices/system/cpu/modalias=20
cpu:type:x86,ven0000fam0006mod003C:feature:,0000,0001,0002,0
003,0004,0005,0=
006,0007,0008,0009,000B,000C,000D,000E,000F,0010,0011,0013,
0015,0016,0017,0=
018,0019,001A,001B,001C,001D,001F,002B,0034,003A,003B,003D,
0068,006B,006C,0=
06D,006F,0070,0072,0074,0075,0076,0078,007C,007D,0080,0081,
0082,0083,0084,0=
085,0086,0087,0088,0089,008B,008C,008D,008E,008F,0091,0093,
0094,0095,0096,0=
097,0098,0099,009A,009B,009C,009D,009E,00C0,00C5,00E0,00E1,
00E3,00E5,00E6,0=
0E7,0100,0101,0102,0103,0104,0120,0121,0123,0124,0125,0127,
0128,0129,012A,0= 12B,012D,0140
Quoted 7 lines
Quoted 3 lines

=46or all other devices in /sys/devices/ which have modalias=20 content there is also MODALIAS=3D line in uevent file.

/sys/devices/system/cpu/ is not a device. It is a "collection of all CPUs".

Ok. But why that inconsistency (missing MODALIAS line)?

Quoted 7 lines
Quoted 3 lines

Is cpu device special? Or why it is only one device which has=20 modalias file but is missing MODALIAS=3D line in uevent file?

Look into the uevent files under /sys/devices/system/cpu/cpu0/ etc.

$ cat /sys/devices/system/cpu/cpu0/modalias
cat: /sys/devices/system/cpu/cpu0/modalias: No such file or 
directory
$ cat /sys/devices/system/cpu/cpu0/uevent 
DRIVER=processor
MODALIAS=cpu:type:x86,ven0000fam0006mod003C:feature:,0000,0001,0002,0003,0004,0005,0006,0007,0008,0009,000B,000C,000D,000E,000F,0010,0011,0013,0015,0016,0017,0018,0019,001A,001B,001C,001D,001F,002B,0034,003A,003B,003D,0068,006B,006C,006D,006F,0070,0072,0074,0075,0076,0078,007C,007D,0080,0081,0082,0083,0084,0085,0086,0087,0088,0089,008B,008C,008D,008E,008F,0091,0093,0094,0095,0096,0097,0098,0099,009A,009B,009C,009D,009E,00C0,00C5,00E0,00E1,00E3,00E5,00E6,00E7,0100,0101,0102,0103,0104,0120,0121,0123,0124,0125,0127,0128,0129,012A,012B,012D,0140

So there is no modalias file, but uevent contains MODALIAS line.

Quoted 7 lines
Quoted 2 lines

What userspace application should use for reading
modalias=20 string? File modalias or file uevent?

The cpu modalias is used to trigger loading of some CPU-specific modules upfront IIRC. So yes, it is special.

My advice would be to follow udev here.

Quoted 7 lines

Yes, I know. For some reasons coretemp.ko is not automatically loaded. I do not know why and I started investigating it. And I found above inconsistency in modalias and uevent...

$ modinfo coretemp
...
alias:          cpu:type:x86,ven0000fam*mod*:feature:*00E7*

That may be a udev issue. See

http://lists.freedesktop.org/archives/systemd-devel/2013-July/012165.html

Signature · 2 lines
I speak only for myself.
Rafael J. Wysocki, Intel Open Source Technology Center.
#4 lore raw
Quoted 71 lines · Rafael J. Wysocki
Quoted 70 lines · Pali Rohár
Quoted 30 lines · On Thursday 27 November 2014 21:39:42 Rafael J. Wysocki wrote:
Quoted 29 lines · Pali Rohár

--nextPart2712852.Yg3XtZvm05
Content-Type: Text/Plain;

charset="utf-8"

Content-Transfer-Encoding: quoted-printable

Hello,

on 3.18-rc5 I have empty cpu uevent file, but modalias file is=20 populated. See:

$ cat /sys/devices/system/cpu/uevent=20
$ cat /sys/devices/system/cpu/modalias=20
cpu:type:x86,ven0000fam0006mod003C:feature:,0000,0001,0002,0
003,0004,0005,0=
006,0007,0008,0009,000B,000C,000D,000E,000F,0010,0011,0013,
0015,0016,0017,0=
018,0019,001A,001B,001C,001D,001F,002B,0034,003A,003B,003D,
0068,006B,006C,0=
06D,006F,0070,0072,0074,0075,0076,0078,007C,007D,0080,0081,
0082,0083,0084,0=
085,0086,0087,0088,0089,008B,008C,008D,008E,008F,0091,0093,
0094,0095,0096,0=
097,0098,0099,009A,009B,009C,009D,009E,00C0,00C5,00E0,00E1,
00E3,00E5,00E6,0=
0E7,0100,0101,0102,0103,0104,0120,0121,0123,0124,0125,0127,
0128,0129,012A,0= 12B,012D,0140
Quoted 7 lines
Quoted 3 lines

=46or all other devices in /sys/devices/ which have modalias=20 content there is also MODALIAS=3D line in uevent file.

/sys/devices/system/cpu/ is not a device. It is a "collection of all CPUs".

Ok. But why that inconsistency (missing MODALIAS line)?

Quoted 7 lines
Quoted 3 lines

Is cpu device special? Or why it is only one device which has=20 modalias file but is missing MODALIAS=3D line in uevent file?

Look into the uevent files under /sys/devices/system/cpu/cpu0/ etc.

$ cat /sys/devices/system/cpu/cpu0/modalias
cat: /sys/devices/system/cpu/cpu0/modalias: No such file or 
directory
$ cat /sys/devices/system/cpu/cpu0/uevent 
DRIVER=processor
MODALIAS=cpu:type:x86,ven0000fam0006mod003C:feature:,0000,0001,0002,0003,0004,0005,0006,0007,0008,0009,000B,000C,000D,000E,000F,0010,0011,0013,0015,0016,0017,0018,0019,001A,001B,001C,001D,001F,002B,0034,003A,003B,003D,0068,006B,006C,006D,006F,0070,0072,0074,0075,0076,0078,007C,007D,0080,0081,0082,0083,0084,0085,0086,0087,0088,0089,008B,008C,008D,008E,008F,0091,0093,0094,0095,0096,0097,0098,0099,009A,009B,009C,009D,009E,00C0,00C5,00E0,00E1,00E3,00E5,00E6,00E7,0100,0101,0102,0103,0104,0120,0121,0123,0124,0125,0127,0128,0129,012A,012B,012D,0140

So there is no modalias file, but uevent contains MODALIAS line.

Quoted 7 lines
Quoted 2 lines

What userspace application should use for reading
modalias=20 string? File modalias or file uevent?

The cpu modalias is used to trigger loading of some CPU-specific modules upfront IIRC. So yes, it is special.

My advice would be to follow udev here.

Yes, I know. For some reasons coretemp.ko is not automatically loaded. I do not know why and I started investigating it. And I found above inconsistency in modalias and uevent...

Quoted 7 lines
Quoted 3 lines
$ modinfo coretemp
...
alias:          cpu:type:x86,ven0000fam*mod*:feature:*00E7*

That may be a udev issue. See

http://lists.freedesktop.org/archives/systemd-devel/2013-July/012165.html

And it was fixed in udev quite some time ago.

Signature · 2 lines
I speak only for myself.
Rafael J. Wysocki, Intel Open Source Technology Center.
#5 lore raw
Quoted 76 lines · Rafael J. Wysocki
Quoted 75 lines · Rafael J. Wysocki
Quoted 73 lines · Pali Rohár
Quoted 30 lines · On Thursday 27 November 2014 21:39:42 Rafael J. Wysocki wrote:
Quoted 29 lines · Pali Rohár

--nextPart2712852.Yg3XtZvm05
Content-Type: Text/Plain;

charset="utf-8"

Content-Transfer-Encoding: quoted-printable

Hello,

on 3.18-rc5 I have empty cpu uevent file, but modalias file is=20 populated. See:

$ cat /sys/devices/system/cpu/uevent=20
$ cat /sys/devices/system/cpu/modalias=20
cpu:type:x86,ven0000fam0006mod003C:feature:,0000,0001,0002,0
003,0004,0005,0=
006,0007,0008,0009,000B,000C,000D,000E,000F,0010,0011,0013,
0015,0016,0017,0=
018,0019,001A,001B,001C,001D,001F,002B,0034,003A,003B,003D,
0068,006B,006C,0=
06D,006F,0070,0072,0074,0075,0076,0078,007C,007D,0080,0081,
0082,0083,0084,0=
085,0086,0087,0088,0089,008B,008C,008D,008E,008F,0091,0093,
0094,0095,0096,0=
097,0098,0099,009A,009B,009C,009D,009E,00C0,00C5,00E0,00E1,
00E3,00E5,00E6,0=
0E7,0100,0101,0102,0103,0104,0120,0121,0123,0124,0125,0127,
0128,0129,012A,0= 12B,012D,0140
Quoted 7 lines
Quoted 3 lines

=46or all other devices in /sys/devices/ which have modalias=20 content there is also MODALIAS=3D line in uevent file.

/sys/devices/system/cpu/ is not a device. It is a "collection of all CPUs".

Ok. But why that inconsistency (missing MODALIAS line)?

Quoted 7 lines
Quoted 3 lines

Is cpu device special? Or why it is only one device which has=20 modalias file but is missing MODALIAS=3D line in uevent file?

Look into the uevent files under /sys/devices/system/cpu/cpu0/ etc.

$ cat /sys/devices/system/cpu/cpu0/modalias
cat: /sys/devices/system/cpu/cpu0/modalias: No such file or 
directory
$ cat /sys/devices/system/cpu/cpu0/uevent 
DRIVER=processor
MODALIAS=cpu:type:x86,ven0000fam0006mod003C:feature:,0000,0001,0002,0003,0004,0005,0006,0007,0008,0009,000B,000C,000D,000E,000F,0010,0011,0013,0015,0016,0017,0018,0019,001A,001B,001C,001D,001F,002B,0034,003A,003B,003D,0068,006B,006C,006D,006F,0070,0072,0074,0075,0076,0078,007C,007D,0080,0081,0082,0083,0084,0085,0086,0087,0088,0089,008B,008C,008D,008E,008F,0091,0093,0094,0095,0096,0097,0098,0099,009A,009B,009C,009D,009E,00C0,00C5,00E0,00E1,00E3,00E5,00E6,00E7,0100,0101,0102,0103,0104,0120,0121,0123,0124,0125,0127,0128,0129,012A,012B,012D,0140

So there is no modalias file, but uevent contains MODALIAS line.

Quoted 7 lines
Quoted 2 lines

What userspace application should use for reading
modalias=20 string? File modalias or file uevent?

The cpu modalias is used to trigger loading of some CPU-specific modules upfront IIRC. So yes, it is special.

My advice would be to follow udev here.

Yes, I know. For some reasons coretemp.ko is not automatically loaded. I do not know why and I started investigating it. And I found above inconsistency in modalias and uevent...

$ modinfo coretemp
...
alias:          cpu:type:x86,ven0000fam*mod*:feature:*00E7*
Quoted 5 lines
Quoted 3 lines

That may be a udev issue. See

http://lists.freedesktop.org/archives/systemd-devel/2013-July/012165.html

And it was fixed in udev quite some time ago.

By this commit:

http://cgit.freedesktop.org/systemd/systemd/commit/?id=bf7f800f2b3e93ccd1229d4717166f3a4d3af72f

#6 lore raw
Quoted 1 line · On Thursday 27 November 2014 22:00:32 Rafael J. Wysocki wrote:

On Thursday, November 27, 2014 09:59:03 PM Rafael J. Wysocki

Quoted 1 line · wrote:
Quoted 1 line

On Thursday, November 27, 2014 09:56:56 PM Rafael J. Wysocki

Quoted 1 line · wrote:
Quoted 1 line
Quoted 1 line

On Thursday, November 27, 2014 09:24:30 PM Pali Rohár

Quoted 1 line · wrote:
Quoted 1 line
Quoted 1 line
Quoted 1 line

On Thursday 27 November 2014 21:39:42 Rafael J. Wysocki

Quoted 1 line · wrote:
Quoted 1 line
Quoted 1 line
Quoted 1 line
Quoted 1 line

On Thursday, November 27, 2014 09:01:11 PM Pali Rohár

Quoted 88 lines · wrote:
Quoted 88 lines
Quoted 87 lines
Quoted 78 lines
Quoted 29 lines
Quoted 29 lines

--nextPart2712852.Yg3XtZvm05
Content-Type: Text/Plain;

charset="utf-8"

Content-Transfer-Encoding: quoted-printable

Hello,

on 3.18-rc5 I have empty cpu uevent file, but modalias file is=20 populated. See:

$ cat /sys/devices/system/cpu/uevent=20
$ cat /sys/devices/system/cpu/modalias=20
cpu:type:x86,ven0000fam0006mod003C:feature:,0000,000
1,0002,0 003,0004,0005,0=
006,0007,0008,0009,000B,000C,000D,000E,000F,0010,001
1,0013, 0015,0016,0017,0=
018,0019,001A,001B,001C,001D,001F,002B,0034,003A,003
B,003D, 0068,006B,006C,0=
06D,006F,0070,0072,0074,0075,0076,0078,007C,007D,008
0,0081, 0082,0083,0084,0=
085,0086,0087,0088,0089,008B,008C,008D,008E,008F,009
1,0093, 0094,0095,0096,0=
097,0098,0099,009A,009B,009C,009D,009E,00C0,00C5,00E
0,00E1, 00E3,00E5,00E6,0=
0E7,0100,0101,0102,0103,0104,0120,0121,0123,0124,012
5,0127, 0128,0129,012A,0= 12B,012D,0140
Quoted 6 lines
Quoted 3 lines

=46or all other devices in /sys/devices/ which have modalias=20 content there is also MODALIAS=3D line in uevent file.

/sys/devices/system/cpu/ is not a device. It is a "collection of all CPUs".

Ok. But why that inconsistency (missing MODALIAS line)?

Quoted 6 lines
Quoted 3 lines

Is cpu device special? Or why it is only one device which has=20 modalias file but is missing MODALIAS=3D line in uevent file?

Look into the uevent files under
/sys/devices/system/cpu/cpu0/ etc.

$ cat /sys/devices/system/cpu/cpu0/modalias
cat: /sys/devices/system/cpu/cpu0/modalias: No such file
or directory
$ cat /sys/devices/system/cpu/cpu0/uevent
DRIVER=processor
MODALIAS=cpu:type:x86,ven0000fam0006mod003C:feature:,000
0,0001,0002,0003,0004,0005,0006,0007,0008,0009,000B,000C
,000D,000E,000F,0010,0011,0013,0015,0016,0017,0018,0019,
001A,001B,001C,001D,001F,002B,0034,003A,003B,003D,0068,0
06B,006C,006D,006F,0070,0072,0074,0075,0076,0078,007C,00
7D,0080,0081,0082,0083,0084,0085,0086,0087,0088,0089,008
B,008C,008D,008E,008F,0091,0093,0094,0095,0096,0097,0098
,0099,009A,009B,009C,009D,009E,00C0,00C5,00E0,00E1,00E3,
00E5,00E6,00E7,0100,0101,0102,0103,0104,0120,0121,0123,0
124,0125,0127,0128,0129,012A,012B,012D,0140

So there is no modalias file, but uevent contains
MODALIAS line.

Quoted 8 lines
Quoted 2 lines

What userspace application should use for reading modalias=20 string? File modalias or file uevent?

The cpu modalias is used to trigger loading of some CPU-specific modules upfront IIRC. So yes, it is special.

My advice would be to follow udev here.

Yes, I know. For some reasons coretemp.ko is not automatically loaded. I do not know why and I started investigating it. And I found above inconsistency in modalias and uevent...

Quoted 4 lines
$ modinfo coretemp
...
alias:         
cpu:type:x86,ven0000fam*mod*:feature:*00E7*

That may be a udev issue. See

http://lists.freedesktop.org/archives/systemd-devel/2013-J
uly/012165.html

Quoted 6 lines
Quoted 1 line

And it was fixed in udev quite some time ago.

By this commit:

http://cgit.freedesktop.org/systemd/systemd/commit/?id=bf7f800
f2b3e93ccd1229d4717166f3a4d3af72f

Thanks for info! I checked system udev files (Ubuntu 12.04 LTS) and this patch is not applied.

Signature · 2 lines
Pali Rohár
[email protected]