Re: PROBLEM: Bug in __pollwait() can cause select() and poll() to hang in 2.4.22-pre2 -- second try

From: Ray Bryant (raybry@sgi.com)
Date: Wed Jul 02 2003 - 13:06:07 EST


Rusty Russell wrote:

> Um, Ray? 2.4's yield also does:
>
> void yield(void)
> {
> set_current_state(TASK_RUNNING);
> sys_sched_yield();
> schedule();
> }
>
> So how did the below patch make any difference?
>
> Now thoroughly confused,
> Rusty.
>
> --- linux-2.4.22-pre2.orig/mm/page_alloc.c Thu Nov 28 17:53:15 2002
> +++ linux-2.4.22-pre2/mm/page_alloc.c Fri Jun 27 13:47:49 2003
> @@ -418,6 +418,7 @@
> return NULL;
>
> /* Yield for kswapd, and try again */
> + set_current_state(TASK_RUNNING);
> yield();
> goto rebalance;
> }
>
> --
> Anyone who quotes me in their sig is an idiot. -- Rusty Russell.
>

Duh. My fault. I didn't see this in 2.4.22-pre2. Some checking shows
that it is also in 2.4.20. How this didn't get into our SGI 2.4.20 tree
is beyond me (this where we originally found this problem). So there is
no problem in 2.4.22-pre2.

Rusty -- thanks for your perseverence on this.

-- 
Best Regards,
Ray
-----------------------------------------------
                   Ray Bryant
512-453-9679 (work)         512-507-7807 (cell)
Jun 23-Jul 18 I will be at: 970-513-4743
raybry@sgi.com             raybry@austin.rr.com
The box said: "Requires Windows 98 or better",
            so I installed Linux.
-----------------------------------------------

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



This archive was generated by hypermail 2b29 : Mon Jul 07 2003 - 22:00:17 EST