Yes, that seems to do the trick. Thanks very much!
Greg
On Thu, Apr 19, 2007 at 01:43:19PM -0400, Jeff Dike wrote:
> Try the patch below. I had to totally disassociate the UML's
> gettimeofday from the host's.
>
> Jeff
>
> --
> Work email - jdike at linux dot intel dot com
>
> Index: linux-2.6.21-mm/arch/um/kernel/time.c
> ===================================================================
> --- linux-2.6.21-mm.orig/arch/um/kernel/time.c 2007-04-08
> 19:18:52.000000000 -0400
> +++ linux-2.6.21-mm/arch/um/kernel/time.c 2007-04-19 13:43:55.000000000
> -0400
> @@ -34,8 +34,8 @@ unsigned long long sched_clock(void)
> return (unsigned long long)jiffies_64 * (1000000000 / HZ);
> }
>
> -static unsigned long long prev_nsecs[NR_CPUS];
> #ifdef CONFIG_UML_REAL_TIME_CLOCK
> +static unsigned long long prev_nsecs[NR_CPUS];
> static long long delta[NR_CPUS]; /* Deviation per interval */
> #endif
>
> @@ -94,7 +94,12 @@ irqreturn_t um_timer(int irq, void *dev)
>
> do_timer(1);
>
> +#ifdef CONFIG_UML_REAL_TIME_CLOCK
> nsecs = get_time();
> +#else
> + nsecs = (unsigned long long) xtime.tv_sec * BILLION + xtime.tv_nsec +
> + BILLION / HZ;
> +#endif
> xtime.tv_sec = nsecs / NSEC_PER_SEC;
> xtime.tv_nsec = nsecs - xtime.tv_sec * NSEC_PER_SEC;
>
> @@ -127,13 +132,18 @@ void time_init(void)
> nsecs = os_nsecs();
> set_normalized_timespec(&wall_to_monotonic, -nsecs / BILLION,
> -nsecs % BILLION);
> + set_normalized_timespec(&xtime, nsecs / BILLION, nsecs % BILLION);
> late_time_init = register_timer;
> }
>
> void do_gettimeofday(struct timeval *tv)
> {
> +#ifdef CONFIG_UML_REAL_TIME_CLOCK
> unsigned long long nsecs = get_time();
> -
> +#else
> + unsigned long long nsecs = (unsigned long long) xtime.tv_sec * BILLION +
> + xtime.tv_nsec;
> +#endif
> tv->tv_sec = nsecs / NSEC_PER_SEC;
> /* Careful about calculations here - this was originally done as
> * (nsecs - tv->tv_sec * NSEC_PER_SEC) / NSEC_PER_USEC
-------------------------------------------------------------------------
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
[email protected]
https://lists.sourceforge.net/lists/listinfo/user-mode-linux-user