Re: 2.2.2: 2 thumbs up from lm

Richard Gooch (rgooch@atnf.csiro.au)
Mon, 1 Mar 1999 06:42:01 +1100


yodaiken@chelm.cs.nmt.edu writes:
> > yodaiken@chelm.cs.nmt.edu writes:
> > > > > The technical problem here is that the thread may want to use libc
> > > > > functions that are incompatible with the RT side. For example, I
> > > > > can't see any way for a RT thread to safely "malloc".
> > > >
> > > > I've had some private discussions with Larry (he seems to like the
> > > > idea), where I scribbled some ideas on how to solve these
> > > > problems. The simplest is to just drop RT priority when entering the
> > > > kernel.
> > >
> > > Can you show some example user code for this? I'm not sure I get how
> > > it would work
> > >
> > > sched_setsched(RR..)
> > > loop
> > > do user stuff as Rt
> > > syscall -- drop out of rt
> > > drop back into rt
> > > goto loop
> > >
> > > ?
> >
> > Erm, I don't quite see why you're asking about example user
> > code. Unless you thought I meant that dropping RT was done in user
> > code? That's not what I meant. I meant that inside the kernel you drop
> > RT and pick up up again later.
>
> I want to see what users will see. The posix rt are all system calls
> So what does it look like from the user side?

Basically like you showed:

USER KERNEL
sched_setscheduler (SCHED_FIFO...);
check_perms ();
rt_put_on_run_queue ();
loop:
do_something ();
write (fd, buffer, size);
rt_take_from_run_queue ();
do_as_usual ();
maybe_block ();
rt_put_on_run_queue ();
goto loop;

Regards,

Richard....

-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@vger.rutgers.edu
Please read the FAQ at http://www.tux.org/lkml/