Re: [PATCH] O16int for interactivity

Timothy Miller
2003-08-15T18:11:16Z

Con Kolivas wrote:

> Preemption of tasks at the same level with twice as much timeslice has been
> dropped as this is not necessary with timeslice granularity (may improve
> performance of cpu intensive tasks).

Does this situation happen where two tasks at different nice levels have
dynamic priority adjustments which make them effectively have the same
priority?

> Preemption of user tasks is limited to those in the interactive range; cpu
> intensive non interactive tasks can run out their full timeslice (may also
> improve cpu intensive performance)

What can cause preemption of a task that has not used up its timeslice?
I assume a device interrupt could do this, but... there's a question I
asked earlier which I haven't read the answer to yet, so I'm going to guess:

A hardware timer interrupt happens at timeslice granularity. If the
interrupt occurs, but the timeslice is not expired, then NORMALLY, the
ISR would just return right back to the running task, but sometimes, it
might decided to end the timeslice early and run some other task.

Right?

So, what might cause the scheduler to decide to preempt a task which has
not used up its timeslice?