SCHED_RR and SCHED_FIFO are close. I think the only difference is if the tasks have the same priority, then maybe SCHED_RR actually starts time-slicing. But don't take my work for it, look it up :-)
that's correct ... if there are two threads (a,b) with the same priority, SCHED_FIFO will cause that the first of these thread will run until it's finished or sleeping, then the second thread can start (aaaaaabbbbbb). SCHED_RR will cause to run both threads for small timeslices (ababababab)... but afaik, it only has an effect if both threads are using the same priority, so with pd, i don't know if there is an effect when using -rt. if there are two threads, one having a high priority (reniced by -rt) and one low priority there would be no difference ... with a threaded pd (e.g. the devel_0_37) there would be effects. iirc, the soundfiler thread and the gui thread are working in the same priority...
another feature of the -rt mode is the memory locking ... it's enabled on machines, where _POSIX_MEMLOCK is defined (at least on linux it is). this will force the memory to be represented in the physical memory. (one will not be able to allocate more memory).
cheers ... tim