On Monday 02 April 2007 7:16 am, Alan Stern wrote:
It's out there for discussion right now more than merging.
What the driver model does now is problematic. Even if the clockevent
stuff gets different fixes, those driver model issues still exist: the
existence of dependencies that are not part of the device tree.
Yeah, that "persistent USB" stuff that I don't like at all! Power off
is power off, and should be treated just like any other case of the USB
circuit being broken. (Offtopic here, of course.)
No, it's a "just happened to work" because the only ordering promise
that was explicitly made is that the parent/child relationships will
be obeyed. Any additional ordering dependency is out-of-scope of the
current driver model -- and that's a proble that eventually needs to
be fixed.
This is the kind of thing that the pm_parent relationship was (AFAICT)
originally supposed to handle. Of course, it doesn't/can't, given the
current implementation ... that relationship is never used.
Clocksource ~= counter, clockevent ~= timer irq ... you're mixing the
two, they're different! Both can be registered at various times; and
the best available instance of both is used. (Unfortunately "best" is
not a static policy on x86 hardware.)
It's not that simple though, especially with HPET. The BIOS may expect
the PIT to work, but Linux currently (and problematically!) uses HPET in
"legacy replacement mode". And ISTR the problems are coming up when the
system is already in a low-functionality state: IRQs off everywhere,
even timer ticks have stopped.
- Dave
-