Nguyen Nguyen wrote: > I have seen something similar before. Our fix was to use > pthread_attr_setinheritsched(&attr, PTHREAD_EXPLICIT_SCHED) > so child threads wouldn't inherit attribute from parent.
> On 9/11/07, Ilya Lipovsky <[EMAIL PROTECTED]> wrote: > > Hmm. Just for kicks - inside the important thread could you add: <snip> > printf("important's policy is %d and priority is %d\n", curpolicy, <snip> > Do similar for the unimportant thread, and see if you > get anything weird - > e.g. priorities come out to be the same for threads. Thank you both! You were each correct, and your input has been greatly appreciated. Adding the printf() resulted in: unimportant's policy is 0 and priority is 0 unimportant waiting for futex important's policy is 0 and priority is 0 important waiting for futex main's policy is 0 and priority is 0 futex FUTEX_WAKE unimportant's policy is 0 and priority is 0 unimportant got futex! important's policy is 0 and priority is 0 important got futex! Adding the PTHREAD_EXPLICIT_SCHED resulted in: unimportant's policy is 1 and priority is 1 unimportant waiting for futex important's policy is 1 and priority is 99 important waiting for futex main's policy is 0 and priority is 0 futex FUTEX_WAKE important's policy is 1 and priority is 99 important got futex! unimportant's policy is 1 and priority is 1 unimportant got futex! Verifying with pthread_muxtex / glibc 2.3.6: unimportant's policy is 1 and priority is 1 unimportant waiting for mutex important's policy is 1 and priority is 99 important waiting for mutex main's policy is 0 and priority is 0 main unlocking mutex important's policy is 1 and priority is 99 important got mutex! unimportant's policy is 1 and priority is 1 unimportant got mutex! And, to come full circle, regression on 2.6.21 resulted in: unimportant's policy is 1 and priority is 1 unimportant waiting for futex important's policy is 1 and priority is 99 important waiting for futex main's policy is 0 and priority is 0 futex FUTEX_WAKE unimportant's policy is 1 and priority is 1 unimportant got futex! important's policy is 1 and priority is 99 important got futex! Now it is time to audit my other code and make sure to add PTHREAD_EXPLICIT_SCHED where appropriate. Thank you. -Michael _______________________________________________ Linuxppc-embedded mailing list Linuxppc-embedded@ozlabs.org https://ozlabs.org/mailman/listinfo/linuxppc-embedded