2010-11-05 18:08:02

by Tetsuo Handa

[permalink] [raw]
Subject: [2.6.37-rc1] wait_for_sysfs prints errors.

Hello.

I noticed that udevd-event started to print error messages.

Starting udev: udevd-event[1682]: wait_for_sysfs: waiting for '/sys/devices/pci0000:00/0000:00:10.0/host0/ioerr_cnt' failed
udevd-event[2103]: wait_for_sysfs: waiting for '/sys/devices/pci0000:00/0000:00:10.0/host0/target0:0:1/ioerr_cnt' failed
udevd-event[2102]: wait_for_sysfs: waiting for '/sys/devices/pci0000:00/0000:00:10.0/host0/target0:0:0/ioerr_cnt' failed

These error messages are caused by one or more of below commits.
(Sorry, I can't find exact one because I can't boot as of below commits.)

5cfc64ce "base/platform: Safe handling for NULL platform data and resources"
807508c8 "base/platform: Simplifications for NULL platform data/resources handling"
39aba963 "driver core: remove CONFIG_SYSFS_DEPRECATED_V2 but keep it for block devices"

Is this a regression? (Is this an intended change?)

2.6.36 was OK and below is tail of bisection log.

# good: [da0d7f982d538f4a5bcdddb84df4a484a3b1770b] pch_phub: fix build warnings
git bisect good da0d7f982d538f4a5bcdddb84df4a484a3b1770b
# bad: [39aba963d937edb20db7d9d93e6dda5d2adfdcdd] driver core: remove CONFIG_SYSFS_DEPRECATED_V2 but keep it for block devices
git bisect bad 39aba963d937edb20db7d9d93e6dda5d2adfdcdd
# skip: [5cfc64ceb6222aabec640ba76e89529a8fc2c1f0] base/platform: Safe handling for NULL platform data and resources
git bisect skip 5cfc64ceb6222aabec640ba76e89529a8fc2c1f0
# skip: [807508c8ff9af6ce8f25c5ca5f3eb06a8e7d3286] base/platform: Simplifications for NULL platform data/resources handling
git bisect skip 807508c8ff9af6ce8f25c5ca5f3eb06a8e7d3286
# skip: [87544653abe4a03324bc85dae32d5bdaabcfccef] debugfs: mark me as the maintainer
git bisect skip 87544653abe4a03324bc85dae32d5bdaabcfccef

My environment is CentOS 5.5(GCC 4.1.2) i686 with 512MB RAM.

Regards.


2010-11-05 20:27:04

by Greg KH

[permalink] [raw]
Subject: Re: [2.6.37-rc1] wait_for_sysfs prints errors.

On Sat, Nov 06, 2010 at 03:07:55AM +0900, Tetsuo Handa wrote:
> Hello.
>
> I noticed that udevd-event started to print error messages.
>
> Starting udev: udevd-event[1682]: wait_for_sysfs: waiting for '/sys/devices/pci0000:00/0000:00:10.0/host0/ioerr_cnt' failed
> udevd-event[2103]: wait_for_sysfs: waiting for '/sys/devices/pci0000:00/0000:00:10.0/host0/target0:0:1/ioerr_cnt' failed
> udevd-event[2102]: wait_for_sysfs: waiting for '/sys/devices/pci0000:00/0000:00:10.0/host0/target0:0:0/ioerr_cnt' failed

That's wierd, what version of udev is this?

> These error messages are caused by one or more of below commits.
> (Sorry, I can't find exact one because I can't boot as of below commits.)
>
> 5cfc64ce "base/platform: Safe handling for NULL platform data and resources"
> 807508c8 "base/platform: Simplifications for NULL platform data/resources handling"
> 39aba963 "driver core: remove CONFIG_SYSFS_DEPRECATED_V2 but keep it for block devices"
>
> Is this a regression? (Is this an intended change?)

Do you still have CONFIG_SYSFS_DEPRECATED enabled?

Other than that, everything works ok, right?

thanks,

greg k-h

2010-11-06 11:18:12

by Tetsuo Handa

[permalink] [raw]
Subject: Re: [2.6.37-rc1] udevd-event prints errors.

Greg KH wrote:
> On Sat, Nov 06, 2010 at 03:07:55AM +0900, Tetsuo Handa wrote:
> > Hello.
> >
> > I noticed that udevd-event started to print error messages.
> >
> > Starting udev: udevd-event[1682]: wait_for_sysfs: waiting for '/sys/devices/pci0000:00/0000:00:10.0/host0/ioerr_cnt' failed
> > udevd-event[2103]: wait_for_sysfs: waiting for '/sys/devices/pci0000:00/0000:00:10.0/host0/target0:0:1/ioerr_cnt' failed
> > udevd-event[2102]: wait_for_sysfs: waiting for '/sys/devices/pci0000:00/0000:00:10.0/host0/target0:0:0/ioerr_cnt' failed
>
> That's wierd, what version of udev is this?
>

# rpm -qf /sbin/udevd
udev-095-14.21.el5_5.1
# /usr/bin/udevinfo -V
udevinfo, version 095

> > These error messages are caused by one or more of below commits.
> > (Sorry, I can't find exact one because I can't boot as of below commits.)
> >
> > 5cfc64ce "base/platform: Safe handling for NULL platform data and resources"
> > 807508c8 "base/platform: Simplifications for NULL platform data/resources handling"
> > 39aba963 "driver core: remove CONFIG_SYSFS_DEPRECATED_V2 but keep it for block devices"
> >
> > Is this a regression? (Is this an intended change?)
>
> Do you still have CONFIG_SYSFS_DEPRECATED enabled?
>
Oh, around above commits, CONFIG_SYSFS_DEPRECATED has changed to "n"
by some reason. I changed to

# grep CONFIG_SYSFS .config
CONFIG_SYSFS_DEPRECATED=y
CONFIG_SYSFS_DEPRECATED_V2=y
CONFIG_SYSFS=y

and re-bisected. Now it turned out that

39aba963 "driver core: remove CONFIG_SYSFS_DEPRECATED_V2 but keep it for block devices"

is the commit which caused these error messages.

Guessing from error messages, changes in drivers/scsi/hosts.c and
drivers/scsi/scsi_scan.c might be involved.

> Other than that, everything works ok, right?
Right.

Regards.

2010-11-06 14:23:55

by Kay Sievers

[permalink] [raw]
Subject: Re: [2.6.37-rc1] udevd-event prints errors.

On Sat, Nov 6, 2010 at 12:18, Tetsuo Handa
<[email protected]> wrote:

>> Other than that, everything works ok, right?
> Right.

It's something that should be fixed in the udev rules. This is the
fixed line, we used in later releases. It adds an additional match to
prevent the warning you see:
SUBSYSTEM=="scsi", KERNEL=="[0-9]*:[0-9]*", WAIT_FOR_SYSFS="ioerr_cnt"

All of that is not needed with current kernels, it was a hacky
workaround for broken sysfs/event timing issues we had years ago.

Kay

2010-11-06 14:51:34

by Tetsuo Handa

[permalink] [raw]
Subject: Re: [2.6.37-rc1] udevd-event prints errors.

Hello.

Kay Sievers wrote:
> >> Other than that, everything works ok, right?
> > Right.
>
> It's something that should be fixed in the udev rules. This is the
> fixed line, we used in later releases. It adds an additional match to
> prevent the warning you see:
> SUBSYSTEM=="scsi", KERNEL=="[0-9]*:[0-9]*", WAIT_FOR_SYSFS="ioerr_cnt"
>
> All of that is not needed with current kernels, it was a hacky
> workaround for broken sysfs/event timing issues we had years ago.

I see.
Applying below patch solved these error messages on my CentOS 5.5 environment.

Thank you.

--- /etc/udev/rules.d/05-udev-early.rules
+++ /etc/udev/rules.d/05-udev-early.rules
@@ -1,7 +1,7 @@
# sysfs is populated after the event is sent
ACTION=="add", DEVPATH=="/devices/*", ENV{PHYSDEVBUS}=="?*", WAIT_FOR_SYSFS="bus"
ACTION=="add", SUBSYSTEM=="net", WAIT_FOR_SYSFS="address"
-ACTION=="add", SUBSYSTEM=="scsi", WAIT_FOR_SYSFS="ioerr_cnt"
+ACTION=="add", SUBSYSTEM=="scsi", KERNEL=="[0-9]*:[0-9]*", WAIT_FOR_SYSFS="ioerr_cnt"

# ignore these events until someone needs them
SUBSYSTEM=="drivers", OPTIONS="ignore_device"