This is the mail archive of the
ecos-discuss@sources.redhat.com
mailing list for the eCos project.
Re: about timeslice
- To: ylyuan <ylyuan at davform dot com>
- Subject: Re: [ECOS] about timeslice
- From: Jonathan Larmour <jlarmour at redhat dot com>
- Date: Mon, 04 Jun 2001 19:47:15 +0100
- Cc: ecos-discuss <ecos-discuss at sourceware dot cygnus dot com>,Nick Garnett <nickg at redhat dot com>
- Organization: Red Hat UK Ltd.
- References: <006901c0ec95$403e97a0$8664a8c0@yyl2000>
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/