I just noticed that the sys_get_priority_max and _min syscalls do not
take the RT priority rlimit into account. Since the watchdog thread
runs at the -P setting + 10 then if the rlimit is 50 and the user
specifies -P50 the watchdog thread will fail.
I believe sched_get_priority_max(SCHED_FIFO) needs to take the rlimit
into account - there's no other way to get the upper limit AFAICT.