linux-kernel.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
* Re: as / scheduler question
  2003-07-28 23:08 as / scheduler question Con Kolivas
@ 2003-07-28 23:01 ` Andrew Morton
  2003-07-28 23:25   ` Con Kolivas
  2003-07-28 23:30   ` Robert Love
  0 siblings, 2 replies; 7+ messages in thread
From: Andrew Morton @ 2003-07-28 23:01 UTC (permalink / raw)
  To: Con Kolivas; +Cc: piggin, linux-kernel

Con Kolivas <kernel@kolivas.org> wrote:
>
> Nick
> 
> With the sheduler work Ingo and I have been doing I was wondering if there was 
> possibly a problem with requeuing kernel threads at certain intervals? Ingo's 
> current version requeues all threads at 25ms and I just wondered if this 
> number might be a multiple or factor of a magic number in the AS workings, as 
> we're seeing a few changes in behaviour with AS only. I'm planning on leaving 
> kernel threads out of this requeuing, but I thought I could also pick your 
> brain.
> 

What does "requeues all threads at 25ms" mean?

The only dependency we should have there is that kblockd should be scheduled
promptly after it is woken.  It is reniced by -10 so it should be OK. 
Renicing it further or making it SCHED_RR/FIFO would be interesting.


^ permalink raw reply	[flat|nested] 7+ messages in thread

* as / scheduler question
@ 2003-07-28 23:08 Con Kolivas
  2003-07-28 23:01 ` Andrew Morton
  0 siblings, 1 reply; 7+ messages in thread
From: Con Kolivas @ 2003-07-28 23:08 UTC (permalink / raw)
  To: Nick Piggin; +Cc: linux kernel mailing list, akpm

Nick

With the sheduler work Ingo and I have been doing I was wondering if there was 
possibly a problem with requeuing kernel threads at certain intervals? Ingo's 
current version requeues all threads at 25ms and I just wondered if this 
number might be a multiple or factor of a magic number in the AS workings, as 
we're seeing a few changes in behaviour with AS only. I'm planning on leaving 
kernel threads out of this requeuing, but I thought I could also pick your 
brain.

Con


^ permalink raw reply	[flat|nested] 7+ messages in thread

* Re: as / scheduler question
  2003-07-28 23:01 ` Andrew Morton
@ 2003-07-28 23:25   ` Con Kolivas
  2003-07-28 23:32     ` Robert Love
                       ` (2 more replies)
  2003-07-28 23:30   ` Robert Love
  1 sibling, 3 replies; 7+ messages in thread
From: Con Kolivas @ 2003-07-28 23:25 UTC (permalink / raw)
  To: Andrew Morton; +Cc: piggin, linux-kernel

On Tue, 29 Jul 2003 09:01, Andrew Morton wrote:
> Con Kolivas <kernel@kolivas.org> wrote:
> > Nick
> >
> > With the sheduler work Ingo and I have been doing I was wondering if
> > there was possibly a problem with requeuing kernel threads at certain
> > intervals? Ingo's current version requeues all threads at 25ms and I just
> > wondered if this number might be a multiple or factor of a magic number
> > in the AS workings, as we're seeing a few changes in behaviour with AS
> > only. I'm planning on leaving kernel threads out of this requeuing, but I
> > thought I could also pick your brain.
>
> What does "requeues all threads at 25ms" mean?
>
> The only dependency we should have there is that kblockd should be
> scheduled promptly after it is woken.  It is reniced by -10 so it should be
> OK. Renicing it further or making it SCHED_RR/FIFO would be interesting.

Ingo introduced the concept of TIMESLICE_GRANULARITY a while ago. All 
processes currently running on the active queue get interrupted in their 
timeslice after TIMESLICE_GRANULARITY (currently set at 25ms and the subject 
of another thread), and put on the tail of the active array to continue their 
timeslice after other processes at the same priority on the active queue get 
to run, also for at most TIMESLICE_GRANULARITY. If kblockd is reniced to -10 
it wont have a problem unless something else ends up with the same dynamic 
priority which would only happen if there are interactive tasks reniced to 
-10. If it's the only process on the active array at that priority it 
_should_ run unaffected.

Con


^ permalink raw reply	[flat|nested] 7+ messages in thread

* Re: as / scheduler question
  2003-07-28 23:01 ` Andrew Morton
  2003-07-28 23:25   ` Con Kolivas
@ 2003-07-28 23:30   ` Robert Love
  1 sibling, 0 replies; 7+ messages in thread
From: Robert Love @ 2003-07-28 23:30 UTC (permalink / raw)
  To: Andrew Morton; +Cc: Con Kolivas, piggin, linux-kernel

On Mon, 2003-07-28 at 16:01, Andrew Morton wrote:

> What does "requeues all threads at 25ms" mean?

I think he is talking about the timeslice granularity Ingo readded in
his latest patch (TIMESLICE_GRANULARITY, which is 25ms with HZ=1000).
Every 25ms the currently running task is preempted if there is another
runnable task at its current priority. I.e., tasks at the same priority
are round-robined every 25ms, until there timeslices expire.

> The only dependency we should have there is that kblockd should be scheduled
> promptly after it is woken.  It is reniced by -10 so it should be OK. 
> Renicing it further or making it SCHED_RR/FIFO would be interesting.

Yep, and I don't think Ingo's patch would effect this.

	Robert Love



^ permalink raw reply	[flat|nested] 7+ messages in thread

* Re: as / scheduler question
  2003-07-28 23:25   ` Con Kolivas
@ 2003-07-28 23:32     ` Robert Love
  2003-07-31  6:43     ` Nick Piggin
  2003-07-31  6:45     ` Nick Piggin
  2 siblings, 0 replies; 7+ messages in thread
From: Robert Love @ 2003-07-28 23:32 UTC (permalink / raw)
  To: Con Kolivas; +Cc: Andrew Morton, piggin, linux-kernel

On Mon, 2003-07-28 at 16:25, Con Kolivas wrote:

> If kblockd is reniced to -10 it wont have a problem unless something else
> ends up with the same dynamic priority which would only happen if there
> are interactive tasks reniced to -10. If it's the only process on the
> active array at that priority it _should_ run unaffected.

Even if it is not, it should easily complete what little it has to do
within 25ms... so Ingo's patches should not affect it.

	Robert Love



^ permalink raw reply	[flat|nested] 7+ messages in thread

* Re: as / scheduler question
  2003-07-28 23:25   ` Con Kolivas
  2003-07-28 23:32     ` Robert Love
@ 2003-07-31  6:43     ` Nick Piggin
  2003-07-31  6:45     ` Nick Piggin
  2 siblings, 0 replies; 7+ messages in thread
From: Nick Piggin @ 2003-07-31  6:43 UTC (permalink / raw)
  To: Con Kolivas; +Cc: Andrew Morton, linux-kernel



Con Kolivas wrote:

>On Tue, 29 Jul 2003 09:01, Andrew Morton wrote:
>
>>Con Kolivas <kernel@kolivas.org> wrote:
>>
>>>Nick
>>>
>>>With the sheduler work Ingo and I have been doing I was wondering if
>>>there was possibly a problem with requeuing kernel threads at certain
>>>intervals? Ingo's current version requeues all threads at 25ms and I just
>>>wondered if this number might be a multiple or factor of a magic number
>>>in the AS workings, as we're seeing a few changes in behaviour with AS
>>>only. I'm planning on leaving kernel threads out of this requeuing, but I
>>>thought I could also pick your brain.
>>>
>>What does "requeues all threads at 25ms" mean?
>>
>>The only dependency we should have there is that kblockd should be
>>scheduled promptly after it is woken.  It is reniced by -10 so it should be
>>OK. Renicing it further or making it SCHED_RR/FIFO would be interesting.
>>
>
>Ingo introduced the concept of TIMESLICE_GRANULARITY a while ago. All 
>processes currently running on the active queue get interrupted in their 
>timeslice after TIMESLICE_GRANULARITY (currently set at 25ms and the subject 
>of another thread), and put on the tail of the active array to continue their 
>timeslice after other processes at the same priority on the active queue get 
>to run, also for at most TIMESLICE_GRANULARITY. If kblockd is reniced to -10 
>it wont have a problem unless something else ends up with the same dynamic 
>priority which would only happen if there are interactive tasks reniced to 
>-10. If it's the only process on the active array at that priority it 
>_should_ run unaffected.
>

OK, well if they've been running for more than 6ms then AS goes out of
the picture, so no, shouldn't make a difference.

In general, on the read side, the disk scheduler can determine how
tasks get woken after waiting on reads, and on the write side its more
the request allocation. If CPU bound processes are running as well
though, then its a process scheduler decision about how soon a woken
process gets to run - I think IO performance wants this figure to be
nice and low.



^ permalink raw reply	[flat|nested] 7+ messages in thread

* Re: as / scheduler question
  2003-07-28 23:25   ` Con Kolivas
  2003-07-28 23:32     ` Robert Love
  2003-07-31  6:43     ` Nick Piggin
@ 2003-07-31  6:45     ` Nick Piggin
  2 siblings, 0 replies; 7+ messages in thread
From: Nick Piggin @ 2003-07-31  6:45 UTC (permalink / raw)
  To: Con Kolivas; +Cc: Andrew Morton, linux-kernel



Con Kolivas wrote:

>On Tue, 29 Jul 2003 09:01, Andrew Morton wrote:
>
>>Con Kolivas <kernel@kolivas.org> wrote:
>>
>>>Nick
>>>
>>>With the sheduler work Ingo and I have been doing I was wondering if
>>>there was possibly a problem with requeuing kernel threads at certain
>>>intervals? Ingo's current version requeues all threads at 25ms and I just
>>>wondered if this number might be a multiple or factor of a magic number
>>>in the AS workings, as we're seeing a few changes in behaviour with AS
>>>only. I'm planning on leaving kernel threads out of this requeuing, but I
>>>thought I could also pick your brain.
>>>
>>What does "requeues all threads at 25ms" mean?
>>
>>The only dependency we should have there is that kblockd should be
>>scheduled promptly after it is woken.  It is reniced by -10 so it should be
>>OK. Renicing it further or making it SCHED_RR/FIFO would be interesting.
>>
>
>Ingo introduced the concept of TIMESLICE_GRANULARITY a while ago. All 
>processes currently running on the active queue get interrupted in their 
>timeslice after TIMESLICE_GRANULARITY (currently set at 25ms and the subject 
>of another thread), and put on the tail of the active array to continue their 
>timeslice after other processes at the same priority on the active queue get 
>to run, also for at most TIMESLICE_GRANULARITY. If kblockd is reniced to -10 
>it wont have a problem unless something else ends up with the same dynamic 
>priority which would only happen if there are interactive tasks reniced to 
>-10. If it's the only process on the active array at that priority it 
>_should_ run unaffected.
>

OK, well if they've been running for more than 6ms then AS goes out of
the picture, so no, shouldn't make a difference.

In general, on the read side, the disk scheduler can determine how
tasks get woken after waiting on reads, and on the write side its more
the request allocation. If CPU bound processes are running as well
though, then its a process scheduler decision about how soon a woken
process gets to run - I think IO performance wants this figure to be
nice and low.



^ permalink raw reply	[flat|nested] 7+ messages in thread

end of thread, other threads:[~2003-07-31  6:46 UTC | newest]

Thread overview: 7+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2003-07-28 23:08 as / scheduler question Con Kolivas
2003-07-28 23:01 ` Andrew Morton
2003-07-28 23:25   ` Con Kolivas
2003-07-28 23:32     ` Robert Love
2003-07-31  6:43     ` Nick Piggin
2003-07-31  6:45     ` Nick Piggin
2003-07-28 23:30   ` Robert Love

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).