lkml.org 
[lkml]   [2001]   [Jan]   [3]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
/
Date
From
SubjectRe: scheduling problem?
On Wed, 3 Jan 2001, Roger Larsson wrote:

> Hi,
>
> I have played around with this code previously.
> This is my current understanding.
> [yield problem?]

Hmm.. this ~could be. I once dove into the VM waters (me=stone)
and changed __alloc_pages() to only yield instead of scheduling.
The results (along with many other strange changes) were.. weirdest
feeling kernel I ever ran. Damn fast, but very very weird ;-)

> Possible (in -prerelease) untested possibilities.
>
> * Be tougher when yielding.
>
>
> wakeup_kswapd(0);
> if (gfp_mask & __GFP_WAIT) {
> __set_current_state(TASK_RUNNING);
> current->policy |= SCHED_YIELD;
> + current->counter--; /* be faster to let kswapd run */
> or
> + current->counter = 0; /* too fast? [not tested] */
> schedule();
> }

That looks a lot like cheating.

> * Move wakeup of bflushd to kswapd. Somewhere after 'do_try_to_free_pages(..)'
> has been run. Before going to sleep...
> [a variant tested with mixed results - this is likely a better one]

I also did some things along this line.. also with mixed results.

:) the changes I've done that I actually like best is to kill bdflush
graveyard dead. Did that twice and didn't miss it at all. (next time,
I think I'll erect a headstone)

-Mike

-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@vger.kernel.org
Please read the FAQ at http://www.tux.org/lkml/

\
 
 \ /
  Last update: 2005-03-22 12:52    [W:0.369 / U:0.628 seconds]
©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site