On Thursday 19 April 2007, Ingo Molnar wrote: > * Christian Hesse <[email protected]> wrote: > > I now got some error message from my system: > > > > http://www.eworm.de/tmp/cfs-suspend.jpg > > ah, this pinpoints a bug: for performance reasons pick_next_task() > assumes that the runqueue is not empty - which is true for schedule(), > but not in migrate_dead_tasks(). Does the patch below fix the crash for > you? > > kernel/sched.c | 2 ++ > 1 file changed, 2 insertions(+) > > Index: linux/kernel/sched.c > =================================================================== > --- linux.orig/kernel/sched.c > +++ linux/kernel/sched.c > @@ -4425,6 +4425,8 @@ static void migrate_dead_tasks(unsigned > struct task_struct *next; > > for (;;) { > + if (!rq->nr_running) > + break; > next = pick_next_task(rq, rq->curr); > if (!next) > break; Suspend works perfectly with this patch. Thanks a lot and keep up the good work! -- Regards, Chris
Attachment:
signature.asc
Description: This is a digitally signed message part.
- References:
- [Announce] [patch] Modular Scheduler Core and Completely Fair Scheduler [CFS]
- From: Ingo Molnar <[email protected]>
- Re: CFS and suspend2: hang in atomic copy
- From: Christian Hesse <[email protected]>
- Re: CFS and suspend2: hang in atomic copy
- From: Ingo Molnar <[email protected]>
- [Announce] [patch] Modular Scheduler Core and Completely Fair Scheduler [CFS]
- Prev by Date: Re: [GIT PULL] kvm oops fix
- Next by Date: Re: [PATCH 10/28] i386: map enough initial memory to create lowmem mappings
- Previous by thread: Re: CFS and suspend2: hang in atomic copy
- Next by thread: Re: CFS and suspend2: hang in atomic copy
- Index(es):