Messages in this thread | | | Date | Thu, 29 Sep 2005 18:00:41 -0700 | From | "Paul E. McKenney" <> | Subject | Re: 2.6.13-rc6-rt9 |
| |
On Thu, Sep 29, 2005 at 09:54:23AM +0200, Peter Zijlstra wrote: > On Sat, 2005-08-20 at 17:24 -0400, Jeff Dike wrote: > > On Sat, Aug 20, 2005 at 09:27:25PM +0200, Peter Zijlstra wrote: > > > Jeff, could you help us out here? > > > What exactly does uml need to get out of the calibrate delay loop? > > > > Interrupts, it's not too demanding :-) > > > > If it's not seeing VTALRM, then it will never leave the calibration loop. > > > > Try stracing it and see what it's getting. > > Sorry for the late reply. > > Yes, that does seem to be the problem. > > Even with a current -rt (2.6.14-rc2-rt5) UML does not run. The issue is > indeed (as jeff pointed out) that VTALRM is never send. The small test > programm below illustrates this. > > On a non-rt kernel it completed in 1 second. > On a -rt kernel it waits at infinitum.
Will play with it and see what I broke...
Thanx, Paul
> Kind regards, > > Peter Zijlstra > > --------------------------- > > #include <stdio.h> > #include <stdlib.h> > #include <unistd.h> > #include <sys/time.h> > #include <signal.h> > > volatile int quit = 0; > > void sig_vtalrm(int signr, siginfo_t * si, void * arg) > { > if (signr == SIGVTALRM) quit = 1; > } > > int main() > { > struct itimerval ival = {{0,0}, {1, 0}}; > > struct sigaction sa; > sa.sa_sigaction = sig_vtalrm; > sigemptyset(&sa.sa_mask); > sa.sa_flags = 0; > sigaction(SIGVTALRM, &sa, NULL); > > setitimer(ITIMER_VIRTUAL, &ival, NULL); > > printf("wait\n"); > while (!quit) ; > printf("done\n"); > } > > > -- > Peter Zijlstra <a.p.zijlstra@chello.nl> > > - To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to majordomo@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/
| |