Hi Jeff,

Thanks again for the patch. I ended up doing something slightly
different, but reading through the code and looking at your changes
helped me arrive at a solution.

The primary problem I face with your patch is that the timer ticks are
not interrupting at even intervals. While things /do/ work the way we
discussed, the clock was slipping all over the place. Sleeps inside
the VM were in sync and preserved when the VM was paused, but their
real-time value was intrinsically unreliable.

So, I think that syncing to the host clock in /some/ way is a good
thing.

In my original solution, where I used {get,set}timeofday to manage the
clock (with UML_REAL_TIME_CLOCK disabled), the real problem (I think)
is that local_offset was overflowing. Because (in my case) the UML
clock always lags the host clock, I simply switched the semantics of
local_offset to be "how far behind" instead of "how far ahead".

This seems to work (hack though it may be). The problem I had with my
original solution is that, although some sleeps worked, others didn't.
I haven't seen this problem since fixing local_offset.

I'll be working with this more over the weekend, and I'll let you know
if things break. For now, I need to divert my energies towards
homework. Thanks again for your quick responses!

Greg


-------------------------------------------------------------------------
This SF.net email is sponsored by DB2 Express
Download DB2 Express C - the FREE version of DB2 express and take
control of your XML. No limits. Just data. Click to get it now.
http://sourceforge.net/powerbar/db2/
_______________________________________________
User-mode-linux-user mailing list
User-mode-linux-user@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/user-mode-linux-user

Reply via email to