Messages in this thread | | | Date | Mon, 1 Mar 1999 06:42:01 +1100 | From | Richard Gooch <> | Subject | Re: 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/
| |