On 03/06/2007 05:18 PM, Thomas Gleixner wrote: > On Tue, 2007-03-06 at 16:53 -0800, Dan Hecht wrote: >>> Ooops. I completely forgot, that you get the absolute expiry time >>> already in ktime_t format (nanoseconds) when dev->set_next_event() is >>> called. >>> >>> dev->next_event = expires; >>> >>> is done right before the call. >>> >>> So it's already there for free. >>> >>> >> Okay. I noticed that but didn't think it was okay to use since it >> didn't seem like it was set up for the clock_event_device code's use, so >> seemed like a conceptual interface violation to go digging around in >> there. > > Yes it is. > > I just wanted to point out that you can use it until I'm awake enough to > implement it proper. > Well, we'll probably just live with using the relative expiry for the first pass, and then revisit this later once that is working, rather than resort to hacking it out by reading ->next_event. >> Also, wasn't one of the points of clockevents to prevent the device code >> from doing conversions between nanoseconds and clicks themselves? Don't >> we really want the clockevents generic layer to do this conversion >> between monotonic nanonseconds to absolute device clicks and then give >> the device code that value, so the device layer doesn't perform any >> conversions? > > Right. But this applies only to deltas, as the conversion of absolute > time values gets ugly, i.e. 128bit math > Yeah, hopefully we can come up with a clean way to do this. But, like I said early, until we do, we'll stick with the relative expiry. > IMO the paravirt interfaces should use nanoseconds anyway for both > readout and next event programming. That way the conversion is done in > the hypervisor once and the clocksources and clockevents are simple and > unified (except for the underlying hypervisor calls). > I disagree. The clocksource/clockevents layer are always going to have to convert nanoseconds to/from hardware units, so why not use it? And, some guests (say, a future version of linux that does trace-based process accounting) may want higher resolution than nanoseconds for certain uses. In any case, this is beside the point; I'd prefer to stick to using the clockevents interface in the way it was intended rather than reaching into ->next_event. thanks, Dan _______________________________________________ Virtualization mailing list Virtualization@xxxxxxxxxxxxxx https://lists.osdl.org/mailman/listinfo/virtualization