Re: PROBLEM: Bug in __pollwait() can cause select() and poll() to

Ray Bryant (raybry@sgi.com)
Wed, 02 Jul 2003 13:06:07 -0500


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/