From mboxrd@z Thu Jan 1 00:00:00 1970 From: Jesper Skov To: Jonathan Larmour Cc: Jesper Skov , Paleologos Spanos , ecos-discuss@sources.redhat.com Subject: Re: [ECOS] Unique priorities Date: Thu, 11 Jan 2001 09:31:00 -0000 Message-id: <14941.60868.749671.374067@thinktwice.zoftcorp.dk> References: <3A5DE5C4.33B37AA0@redhat.com> X-SW-Source: 2001-01/msg00190.html >>>>> "Jonathan" == Jonathan Larmour writes: Jonathan> Jesper Skov wrote: >> >>>>> "Paleologos" == Paleologos Spanos >> writes: Paleologos> mlqueues default scheduler). I would expect that I would Paleologos> have an error or something like that because of the fact Paleologos> that the 2 threads are having the same priority (4).Is it Paleologos> correct or I have misunderstood something? >> The bitmap scheduler will assign a thread the closest possible >> priority to that requested. It does not fail if the requested >> priority is already used, it just returns another. So your threads >> would probably have priorities 4 and 5. Jonathan> Jesper are you sure about that? From bitmap.cxx Cyg_SchedThread_Implementation::Cyg_SchedThread_Implementation ( CYG_ADDRWORD sched_info ) { CYG_REPORT_FUNCTION(); #if 1 // Assign this thread's priority to the supplied sched_info // or the next highest priority available. priority = cyg_priority(sched_info); while( !Cyg_Scheduler::scheduler.unique(priority) ) priority++; #else // Assign initial priorities to threads in descending order of // creation. static cyg_priority init_priority = 0; priority = init_priority++; #endif } Yup :) It haunted the stress_threads test for a while as it didn't get the priorities it had asked for. But it's not good that those two are not consistent. File a bug? Jesper