From: Jonathan Sambrook (jonathan.sambrook_at_dsvr.co.uk)
Date: Wed 26 Nov 2003 - 10:25:27 GMT
At 01:12 on Tue 25/11/03, herbert_at_13thfloor.at masquerading as 'Herbert Poetzl' wrote:
> > At this point you're probably thinking something like: "So what? He's
> > b*ll1xed up his moddifications to the vanilla s_context stuff. What's
> > this got to do with me?".
>
> never would think that ... 8-)
Heavens, I did for ages :)
Nonetheless the problem occurs with vanilla kernel + vanilla s_context patch,
but only under unusual circumstances.
> > Having battered my head against this problem for long enough, I've
> > finally gotten around to re-writing my perl script in C so as to test a
> > vanilla 2.4.20 + vanilla ctx17f. It locks up like the proverbial kipper
> > - kgdb still functions, but the scheduler ain't called.
> >
> > Any assistance gratefully received - you may just save my sanity :)
>
> hmm .. could you try with vs1.00 adn vs1.1.5 on 2.4.22 too?
Problem still there in 2.4.22 + vs1.00. Will try 1.1.5 later on.
(Side benefit of testing on 2.4.22: it forced me to update to kgdb 1.6.
1.5 does an annoying kgdbreg=NULL, leading to all sorts of debugging
trickery to find out what's going on in interrupt land.)
Jonathan
>
> will have a look at it, when I've got some sleep ...
>
> TIA,
> Herbert
>
>
> > Regards,
> > Jonathan
> >
> > //----------------------------------------------------------------------
> >
> > #include <stdio.h>
> > #include <unistd.h>
> > #include "vutil.h"
> >
> > void start_ctx (int ctx_in) {
> > int ctxs[16];
> > int pid = fork ();
> > int ctx = 0;
> >
> > ctxs[0] = -1;
> >
> > switch (pid) {
> > case 0:
> > case -1:
> > break;
> >
> > default:
> > ctx = call_new_s_context(1,ctxs,0,0);
> > printf ("ctx: %d\n", ctx);
> > exit (0);
> > }
> > }
> >
> > void loop () {
> > printf( "loop()\n");
> > while (1) {
> > start_ctx (0);
> > }
> > }
> >
> > int main (int argc, char ** argv) {
> >
> > int i = 2;
> >
> > signal (SIGCHLD, SIG_IGN);
> >
> > while (i--) {
> > if (!fork()) {
> > loop ();
> > }
> > }
> >
> > while (1) {
> > printf ("%d\r", ++i);
> > fflush (stdout);
> > sleep (1);
> > }
> > }
> >
> > //----------------------------------------------------------------------
> >
> >
> >
> > --
> >
> > Jonathan Sambrook
> > Software Developer
> > Designer Servers
>
>
> _______________________________________________
> Vserver mailing list
> Vserver_at_list.linux-vserver.org
> http://list.linux-vserver.org/mailman/listinfo/vserver
-- Jonathan Sambrook Software Developer Designer Servers