lkml.org 
[lkml]   [1999]   [Feb]   [28]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
/
Date
From
SubjectRe: 2.2.2: 2 thumbs up from lm
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/

\
 
 \ /
  Last update: 2005-03-22 13:50    [W:0.121 / U:0.260 seconds]
©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site