Messages in this thread | | | Subject | Re: 2.6.13-rc6-rt9 | From | Peter Zijlstra <> | Date | Thu, 29 Sep 2005 09:54:23 +0200 |
| |
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.
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/
| |