This is the mail archive of the ecos-discuss@sources.redhat.com mailing list for the eCos project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]

Re: about timeslice


ylyuan wrote:
> 
> Hi,in the DSR of RTC:
> void Cyg_RealTimeClock::dsr(cyg_vector vector, cyg_ucount32 count, CYG_ADDRWORD data)
> {
>    ......
>    rtc->tick( count );
> 
> #ifdef CYGSEM_KERNEL_SCHED_TIMESLICE
> #if    0 == CYGINT_KERNEL_SCHEDULER_UNIQUE_PRIORITIES
> 
>     // If timeslicing is enabled, call the scheduler to
>     // handle it. But not if we have unique priorities.
> 
>     Cyg_Scheduler::scheduler.timeslice();
> 
> #endif
> #endif
> ......
> }
>   if the parameter of count isn't 1,why function  of timeslice only subtract one but the parameter of rtc->tick is count?

Yes, I can see why this would be a problem. It does look like the
timeslice() method should take an argument of the tick count as well.

Nick, any objections to me doing this? Otherwise when interrupts are
disabled for a long time, or any other reason why a clock DSR may be
delayed (e.g. long alarm handler), the scheduler will not catch up on its
missed timeslice.

Jifl
-- 
Red Hat, Rustat House, Clifton Road, Cambridge, UK. Tel: +44 (1223) 271062
Maybe this world is another planet's Hell -Aldous Huxley || Opinions==mine
Come to the Red Hat TechWorld open source conference in Brussels!
Keynotes, techie talks and exhibitions    http://www.redhat-techworld.com/


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]