>> >The function has been in the DDI for more than ten years ... has it >> >been unusable that whole time due to the static list? >> > >> >> This is a piece of work required to complete the devid cache discovery >> mechanism for devid providers not bundled in the ON consolidation. > >OK. The surprising thing to me was that we added this to the DDI long >ago -- making it theoretically available for others to use -- but if >they ever tried using it, it wouldn't have worked as expected, at >least according to this project. > >I had though that meant I was likely missing something (such as a >subsequent change to device enumeration that broke the DDI). But if >that's not the case, then "ok." >
A more complete autopsy here is that pre-devfs, solaris relied on bottom-up full attach, for all intents and purposes a reconfiguration boot, to implement open-by-devid. Devfs itself did not fix this, so open-by-devid still required full attach. The devid cache eliminated that so that with a cache hit, an open-by-devid goes directly to the device. With a cache miss though, discovery is needed. The embedded list of drivers providing devids was a short-term solution to the problem that has left unbundled drivers out in the cold. In retrospect, yes I should have done this as part of the original devid cache work. -jg
