On Tue, Jun 15, 2010 at 13:05, Jean Delvare <khali@xxxxxxxxxxxx> wrote: > On Tue, 15 Jun 2010 12:30:00 +0200, Kay Sievers wrote: >> On Tue, Jun 15, 2010 at 00:19, Tejun Heo <tj@xxxxxxxxxx> wrote: >> > Hmm... maybe what we can do is generating an uevent when an IRQ is >> > confirmed to be bad and then let udev notify the user. That way we'll >> > probably have better chance of getting bug reports and users have >> > whiny but working system. >> >> Not really, uevents are not picked up by anything that could report an >> error to userspace, they are just seen by udev. Also uevents are >> usually not the proper passing method. They are not meant to ever >> transport higher frequency events, or structured data. They cause to >> run the entire udev rule matching machine, and update symlinks and >> permissions with every event. >> >> We will need some better error reporting facility. On Linux you don't >> even get notified when the kernel mounts your filesystem read-only >> because of an error. It will only end up in 'dmesg' as a pretty much >> undefined bunch of words. :) >> >> We will need some generic error reporting facility, with structured >> data exported, and where userspace stuff can subscribe to. >> Uevents/udev can not really properly provide such infrastructure. >> Maybe that can be extended somehow, but using kobject_uevent() and >> trigger the usual udev rule engine is not what we are looking for, for >> sane error reporting. > > Random idea of the day (I don't know anything about it all): let the > kernel connect to D-Bus and use it somehow? Yeah, D-Bus is an peer-to-peer IPC mechanism/protocol. The D-Bus daemon can filter and multiplex/distibute messages. It's very similar to what we can do with netlink. The netlink multicast stuff can even provide lots of the functionality the D-Bus daemon provides. I think we should avoid the D-Bus complexity for the very low-level stuff. Very much like udev is not using it, but has efficient in-kernel message filtering based on Berkeley Packet Filters, and multiple listeners event subscription/distribution based on netlink multicast functionality. Not sure if netlink is the right answer here, but it's surely easier to handle than D-Bus, and would provide a very similar functionality. Kay -- To unsubscribe from this list: send the line "unsubscribe linux-ide" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html